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

Davide Pesavento davide.pesavento at lip6.fr
Wed Jul 16 16:04:26 PDT 2014


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