[Cython] Git workflow, branches, pull requests
Yury V. Zaytsev
yury at shurup.com
Fri May 6 09:33:37 CEST 2011
On Thu, 2011-05-05 at 13:49 -0700, Robert Bradshaw wrote:
> Surely other projects have dealt with this.
We have for instance adopted a very strict set of policies on that:
1) Never branch of anything except for master or x.y.z-stable branches
2) Never rebase master or x.y.z-stable branches, unless everybody agrees
3) Never do fast-forward merges, always rebase your stuff before merge
4) Never commit directly to master, use feature branches
That is, all branches are either in the personal namespace of the
developers for experimental stuff, or in the main namespace prefixed
with the ticket number.
I admit that this is quite restrictive, but in the end, it doesn't take
so much effort to follow and the history is very nice and easy to
understand, I even literally follow the development by reading the
history, when I am unable to track IRC etc.
Of course, you don't have to copy this blindly, but few permissive
conventions, which do not impose additional load on the developers like
1) Always branch from master
2) Never rebase master
would definitively not hurt.
I was recently trying to bisect Cython, as I was under impression that
recent commits broke something for me (it turned out not to be the case,
but that's not the point) and the history is just to horribly confusing
that I couldn't make any sense out of it.
All these branches from branches from branches which gets merged in
random order make it impossible for an outside person to make any
sensible use of this information...
Hope that helps,
--
Sincerely yours,
Yury V. Zaytsev
More information about the cython-devel
mailing list