[vtk-developers] ANN: All VTK commits through the topic stage
Marcus D. Hanwell
marcus.hanwell at kitware.com
Tue Oct 12 18:25:55 EDT 2010
On Tuesday 12 October 2010 18:16:15 David Doria wrote:
> On Tue, Oct 12, 2010 at 4:17 PM, Marcus D. Hanwell <
>
> marcus.hanwell at kitware.com> wrote:
> > Hi,
> >
> > As previously announced on September 23, the VTK topic stage is available
> > to
> > merge in topic branches. From Thursday October 14 all commits to VTK will
> > need
> > to be made through the topic stage, and direct pushes to the VTK
> > repository will be disabled.
>
> Should directly pushing to master be removed all together? What about
> little bug fixes? It seems crazy to make a topic branch just to push a one
> line change.
>
If you think like a CVS user then yes, but topic branches are just named
pointers to a hash. Also, consider the case where you fixed your bug, you
pushed, and then realized you had not accounted for how it works on Windows,
then you push another commit and we now have no way of connecting those two
commits together.
Further, consider we want to backport your fix to the next VTK bug fix release,
but we only spot the first commit (not the next one you made a week later). Or,
we only spot the second and miss the first. Both of these cases have happened
in VTK with the bug fix releases and caused lots of headaches.
It gets people used to using the stage, and where it is really required is
when we switch to using master *and* next. In order to merge a change into
next, see if it works, and then merge the same change into master, the only
viable workflow is the branchy workflow we have discussed. Merge commits are
necessary to show the point at which the commit was merged into next, and
later master.
http://public.kitware.com/Wiki/Git/Workflow/Stage
That wiki page details some of the motivation behind this. We want to move to
a workflow where people land complete features. It also allows us to use code
review tools such as Gerrit if we wish, and have all of the commit objects
resolve to being the same thing without the rebasing necessary in a linear
workflow.
Hopefully this clears up some of the motivation for you. As I said to you in a
private email, there is a Source article in the upcoming October issue, along
with several wiki pages. Reading 'man gitworkflows' might also be useful.
Marcus
--
Marcus D. Hanwell, Ph.D.
R&D Engineer, Kitware Inc.
(518) 881-4937
More information about the vtk-developers
mailing list