Re: git merge and merge message
On Sun, 11 Mar 2007, Xavier Maillard wrote:
> On Sun, Mar 11, 2007 at 04:05:04PM +0100, Xavier Maillard wrote:
> > The merge is correct but there is not merge message when I do a
> > git log.
>
> Have you done any work on the master branch since you branched the topic
> branch off from it? If not, the merge is just a "fast forward"--no
> merge commit is created, and instead the head of the master branch is
> just updated to point at the same commit as the head of the topic
> branch.
>
> No I did not touch master before. It could explain that behaviour
> then :)
Indeed.
The "don't merge, just fast-forward" is the right thing to do for working
together. However, I can well imagine that if you actually work with
branches not as "distributed development", but *just* as "topic branches",
then having the "useless" merge (with the parents actually being parents
of each other) migth actually be nice from a documentation standpoint.
I'm torn on this. I really dislike anything but fast-forward, because I
have a strong suspicion that it will cause "alpha male" behaviour (where
maintainers use the "useless merge" as a way to mark their territory),
which I think is actually really bad form.
At the same time, I think that the kind of behaviour that Xavier is
talking about, where you actually end up having feature branches for your
own project, and then using
git merge -m "Merge feature Xyz" xyz-branch
is potentially a really good way of making it clear that the code along
the branch you merged did Xyz.
My other rule in life is that a tool should not *force* a certain policy
(although encouraging good behaviour by making that the *easy* thing to do
is a good idea), so I think that it would probably be ok to add a flag to
"git merge" to say "force a merge commit", which would disable the
fast-forward behaviour.
(And if you don't support it for "git pull", maybe that's enough of a
disincentive that you won't see the "maintainer marking his territory by
peeing in the snow" behaviour).
Comments? Do people think it would be a good idea to do
git merge --no-fast-forward -m "Merge feature Xyz" xyz-branch
as an option?
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html