[MOAB-dev] MOAB git branching model
Paul Wilson
wilsonp at engr.wisc.edu
Tue Sep 17 21:19:36 CDT 2013
On 09/17/2013 05:28 PM, Tim Tautges wrote:
> Hi all,
> The recent instability of the master branch of the MOAB repository
> (due entirely to me pushing large gobs of code) has gotten me thinking
> about our current repository branching model, or really lack thereof.
> I think it's probably time to get a bit more formalized about this, in
> spite of my distaste for explicit processes in general.
>
> To review, in our current repo, we have a master branch, and several
> branches for previous releases. In general, other MOAB developers
> have been using either direct clones (w/o named branches) or forks and
> pull requests. The advantage of this is simplicity, but the
> disadvantage is having a master branch that could be unstable.
>
> There are two things I'd like to propose or at least start a
> discussion on in this email:
>
> 1) For developers on the project, I think we should always do that
> development in branches, either feature branches or hotfix branches.
> That will make it easier to figure out what's going on at any point in
> time, and for associating individual merges with specific development
> features or fixes. External developers (those w/o credentials to push
> directly into MOAB master) would continue to submit pull requests as
> before.
I'm not a particularly active developer at the moment, but I would
suggest that all developers - internal and external - merge changes with
a pull request process. There are at least 2 benefits:
* pre-commit code review by another developer
* a more distributed knowledge of the code base as a result
There is at least one real disadvantage:
* delay in merging changes because potential reviewers are too busy
In the projects I work on, it has been very successful.
Note - this doesn't meant that those developers need to work in a fork
(although there is no practical difference). They can work in a branch
of the main repo and issue a pull request from the branch to the main
line (whatever it is called following item 2 and Jed's response).
Paul
>
> 2) I think we should go to a more formalized repo structure and
> branching/release process, similar to what is described in
> http://nvie.com/posts/a-successful-git-branching-model/. Mostly what
> this would mean is that the master branch would be come our "stable"
> or last-released version, while a development branch would be the one
> receiving day-to-day changes (and receiving the most autotesting).
> This wouldn't prevent the kind of instability on that branch that I
> caused recently, but at least would protect non-developers from these
> problems.
>
> Comments?
>
> - tim
>
--
-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --
Paul Wilson ~ UW-Madison ~ 608-263-0807 ~ cal: http://bit.ly/pphw-cal
Professor, Engineering Physics. ~ http://cnerg.engr.wisc.edu
Faculty Director, Advanced Computing Infrastructure
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20130917/68e1524b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6244 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20130917/68e1524b/attachment.bin>
More information about the moab-dev
mailing list