[Nfd-dev] Small branching policy change for NFD and ndn-cxx (proposal)

Alex Afanasyev alexander.afanasyev at ucla.edu
Wed Jul 16 16:12:20 PDT 2014


Thanks, Davide.  I think we are on the same page.  I also want "master" branch to track all current development, not just releases.  I can forget about the "release" branch I mentioned in the reply to Junxiao, but it is a minor convenience branch that we can still have without any strings attached.

I agree with all other points.

---
Alex

On Jul 16, 2014, at 4:04 PM, Davide Pesavento <davide.pesavento at lip6.fr> wrote:

> Hi Alex,
> 
> I've been waiting for this, thanks.
> 
> In general I agree with moving to a more formalized git branching
> model, however I'm not sure if the model you're proposing is
> appropriate for our workflow. I find it a bit too complex and
> heavyweight for small/medium-sized projects such as NFD. Moreover,
> that model doesn't take gerrit and the CI into account, and has been
> designed with the requirement that the master branch must contain code
> that is deployable on a production server at any time, which is not
> relevant for us.
> 
> I think that the following is enough for our use cases:
> 
> * patches usually target the master branch and are sent to gerrit for
> review and integration testing
> * some time before releasing version-N (1-2-3 weeks?) a release-N
> branch is created from the master branch
> * from that point, master will contain the code for release-N+1 and
> all patches intended for version N+1 are submitted to the master
> branch
> * fixes or other urgent patches needed for version-N must be
> retargeted to the release-N branch (i.e. rebased and resubmitted to
> gerrit)
> * when version-N is released, the release-N branch is tagged with the
> "vN" tag, and is then merged back to the master branch
> * if need be, the release-N branch can be used for "point" releases,
> i.e. vN.1, vN.2, and so on, or alternatively we can create another
> branch release-N.1
> 
> I hope I didn't forget something.
> 
> Thanks,
> Davide
> 
> On Wed, Jul 16, 2014 at 11:00 PM, Alex Afanasyev
> <alexander.afanasyev at ucla.edu> wrote:
>> Hi guys,
>> 
>> I have a proposal to slightly modify the current policy for branching in our repos to partially match the git flow model described http://nvie.com/posts/a-successful-git-branching-model/.
>> 
>> The part I'm not entirely agreeing with is the role that devoted to master branch in this model: it always points to the latest release.  Personally, 'master' branch for me is the place for development, while there could be other "release" branch to track latest releases.   The rest of the workflow generally follows what we have been doing in the past, just formalized operations a little.
>> 
>> If agreed, I will create "release-0.2.0" branch in both repos that will fix all the features for the upcoming release.  All pending/approved commits on gerrit then can be merged into master, which will track further development.
>> 
>> Any objections?
>> 
>> ---
>> Alex
>> 
>> 
>> _______________________________________________
>> Nfd-dev mailing list
>> Nfd-dev at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev





More information about the Nfd-dev mailing list