[Numpy-discussion] Development workflow
Pauli Virtanen
pav at iki.fi
Tue Oct 12 04:46:12 EDT 2010
Mon, 11 Oct 2010 16:47:23 -0700, Matthew Brett wrote:
> Am I right in thinking that for the moment at least, the git workflow is
> basically the same as the svn workflow (everyone commiting to trunk)?
I think there are two issues here:
(A) How to be sensible and presentable
(B) How and when your stuff gets into master
***
For (A) I'm following the same workflow I had with the git mirror:
1. For *every* change, create a separate topic branch.
2. Work on it until the feature/bugfix is ready.
3. Push it to my own github clone for review/backup purposes if necessary.
4. If necessary, rebase (not merge!) on master when developing
to keep in stride.
5. When ready, (i) rebase on master, (ii) check that the result is
sensible, and (iii) push from the topic branch as new master.
In this case, since all recent changes are just unrelated stand-alone
bugfixes, this produces something that looks very much like SVN log :)
I think of the above, 1-4 are okay in all cases. 5 is then perhaps not so
absolute, as one could also do a merge if there are several commits. I
100% endorse Fernando's recommendations:
http://mail.scipy.org/pipermail/ipython-dev/2010-October/006746.html
This really sounds like best-practice to me, and it's even empirically
tested!
***
Then there's the second question (B) on when core devs should push
changes. When ready, when reviewed, or only before release?
I would be open even for the "radical" never-push-your-own-changes
solution.
I think we could even try it this way for the 1.5.1 release. If it seems
that unhandled pull requests start to accumulate (which I don't think
will happen), we could just reverse the policy.
***
> I realize that this is not going to cheer anyone up, but is this the
> best workflow now? Who would decide?
I think it is best to discuss this now, and make sure all core devs have
similar ideas on what is ideal.
One change at a time (i.e. "give 'em the little finger" approach).
--
Pauli Virtanen
More information about the NumPy-Discussion
mailing list