On Thu, Feb 23, 2012 at 1:43 PM, Antoine Musso <hashar+...@free.fr> wrote:
> 2) newbie spamming gerrit
>
> This happen when you first play with Gerrit.
>
> In subversion world, whenever you submit a new patch (svn commit) it is
> going to be written down in the central repository. You will not be able to
> change it, hence any subsequent submission based on it are guaranteed it is
> not going to change.
>
> In git world, as I understand it, each commit as a parent commit. The
> reference is a sha1 based on the content of the commit. Whenever you change
> a commit, every children, grand-children .. will have their sha1 recomputed.
>
> Enter in Gerrit world, when we send a commit in a queue, there is no
> guarantee that commit will end up in the reference repo. It might be amended
> or simply rejected. So your list of commit will be recomputed and all child
> / grand children will need to be resubmitted.
>
> Guess that? That will update of all those Gerrit changes, making mass email
> spam / jenkins rebuild etc.
>
You're right that this is the biggest problem with stacked commits: if
you have a dependency chain A-B-C and B is amended or abandoned, you
have to rebase C somehow. A lesser problem is that if A and C are
approved, but B hasn't been reviewed yet, A will be merged but C won't
be (because it can't be merged without also merging B, and B has not
been approved yet).

So yeah, we want to encourage people to use separate branches for
unrelated commits, so that B doesn't depend on A if A and B are
totally unrelated to each other. I've been trying to work that into
the various documentation pages, and Sumana let me put it in her git
introduction talk script too :)

Roan

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to