[dpdk-dev] development/integration branch?

Neil Horman nhorman at tuxdriver.com
Tue Oct 21 15:50:08 CEST 2014


On Tue, Oct 21, 2014 at 11:38:34AM +0200, Marc Sune wrote:
> Thomas,
> 
> On 21/10/14 11:28, Thomas Monjalon wrote:
> >2014-10-21 11:14, Marc Sune:
> >>On 21/10/14 10:46, Thomas Monjalon wrote:
> >>>My balance is different because I have a simpler solution for Marc's problem:
> >>>	git fetch && git merge $(git tag | grep -v -- -rc | tail -n1)
> >>We all know we _can_ do this. But is it really necessary? We should be
> >>all as lazy as possible and make it easy for users IMHO. `git pull` is
> >>easier :)
> >Yes and lazy users download tarballs.
> 
> At least for me, I stopped downloading DPDK tarballs after the third time I
> had to upgrade the release.
> >>I don't see any drawback of using a development branch, except if you
> >>consider the extra push to master per release a drawback.
> >No I don't care to push one more thing.
> >But I care about the message brought by such change. It would mean that
> >we can break the development branch and that most of developers don't test
> >it nor base their patches on the latest commit. It's all about simple rules
> >and messages.
> 
> I understand your concern but, isn't peer reviewing meant to prevent this?
> 
> >>Also think about new users downloading the repo for the first time. They
> >>are forced to do this right now if they want to checkout the latest stable.
> >New users will get the latest release and expect to see current work in
> >progress right after cloning the git tree (in master branch).
> >It's also more common to see work in progress in default branch in cgit.
> I know, but I also know other projects do the way I proposed with success.
> In any case it was just a suggestion to try to improve things.
> 
> marc
> 

Ideally, I think the best solution (and I've proposed this on the list several
times), is to create a release branch when you begin tagging -rc branches, and
use that branch for stabilization/testing prior to a release.  Only fixes are
allowed in such a branch, and can be merged with master post release-tagging.
That would allow master to continue patch integration undeterred.

Alternatively, doing like Linus does is also a fine idea, announce a merge
window during which features are integrated, and after which new features are
disallowed during the pre-release stabilization period.  Doing so however
requires a high degree of commitment to not make exceptions.  If that is a
concern, then a release branch is the safer approach, as it separates fixes from
other patches.

Neil
 


More information about the dev mailing list