[jboss-as7-dev] How do you handle AS7 main/head merges/commits?
Jason T. Greene
jason.greene at redhat.com
Thu Sep 29 12:00:53 EDT 2011
On 9/28/11 9:34 AM, Bill Burke wrote:
> How do you guys handle merging/committing updates to the AS7 main/head
> GIT repo?
We use a process where everyone submits patches via a github pull
request. That pull request is sent to a mailing list that everyone can
subscribe to and review comment on (either by using the github comment
thing or just replying to the email).
We have a "small" set of people that are responsible for merging the
requests. They follow pull requests, pay attention to comments/reviews,
do a review themselves, and potentially consult a subject expert if
needed. They also do a local full "all tests" test run to verify that no
regressions have occurred. After scrutiny the patch is finally pushed.
> How many people have responsibility to do this?Do you plan
> on adding more? What is the criteria to be added?
Right now we have 5 people, which is too big IMO. The main rationale is
to have sufficient timezone and holiday coverage, and also to split up
the work involved in processing the queue. A major reason for the need
of timezone coverage is really due to testing resource limitations.
Right now we only run the TCK on the main master branch. Ideally we
would move to a model where anyone can kick off a one-off TCK run using
any branch (right now we can do one-off as7 testsuite runs though).
The criteria to be added for AS is:
1. There is a need for another person.
2. Extremely knowledgeable in GIT - If you have push rights you can
easily screw up the repo. While git has a lot of power, the downside is
that running a repo requires familiarity with a lot more details than
you do running a subversion server.
3. Familiarity with the full codebase - Enough knowledge that any patch
that comes in can have be reviewed with some level of certainty. Part of
this is also knowing who to go to when more in depth review is needed.
4. Willingness to keep up with and enforce project architectural/design
goals - Sometimes this means holding back good work so that it can be
updated to be inline with other goals. For example a great subsystem
feature can come in but it adds too much to the boot time, or it might
not use the common services that provide stuff like uniform EE injection
and so on. To be able to do this, the person has to monitor all
cross-impacting design discussions
5. Willingness to do all of the extra work required by the role.
What are your
> processes here? More importantly, do you like these processes?
>
> I'm asking all this cuz I'm moving Resteasy to GIT pretty soon and want
> to know best-practices here.
You might want to also look at Infinispan's process:
https://docs.jboss.org/author/display/ISPN/Contributing+to+Infinispan#ContributingtoInfinispan-SourceControl
The process we tell contributors to follow is here:
http://community.jboss.org/wiki/HackingOnAS7
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
More information about the jboss-as7-dev
mailing list