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