[MOAB-dev] MOAB git branching model

Tim Tautges tautges at mcs.anl.gov
Thu Sep 19 11:40:51 CDT 2013


I'm reluctant at the moment to institutionalize this, though for large changes or design changes I agree that it's 
helpful.  The reviews by Iulian and Danqing recently were very helpful for the big merge I just did.

-- tim

On 09/17/2013 09:19 PM, Paul Wilson wrote:
>
> 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
>

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
  phone (gvoice): (608) 354-1459      1500 Engineering Dr.
             fax: (608) 263-4499      Madison, WI 53706



More information about the moab-dev mailing list