[Numpy-discussion] Development workflow
Tue Oct 12 03:46:12 CDT 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:
This really sounds like best-practice to me, and it's even empirically
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
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).
More information about the NumPy-Discussion