On Wed, 18 Oct 2006, Jakub Narebski wrote: > > Merge commit in fast-forward case is only marking "here we did a pull" > (here we downloaded from other repository). It is just a marker which > place is in reflog, not in history. It is only cluttering history. For non-git people (and maybe even git people who didn't follow some of the "reflog" work): - git does actually have "local view" support, but it is very much _defined_ to be local. It does not pollute any history as seen by anybody else. It's called "reflog" (where "ref" is just the git name for any reference into a tree, and the "log" part is hopefully obvious) So each git repository can have (if you enable it) a full log of all the changes to each branch. But it's not in the core git datastructures that get replicated - because the local view of how the branches have changed really _is_ just a local view. It's just a local log to each repository (actually, one per branch). It's what allows a git person to say git diff "master@{5.hours.ago}" because while "5 hours ago" is _not_ well-defined in a distributed environment (five hours ago for _whom_?) it's perfectly well-defined in a purely _local_ sense of one particular branch. So there's no need for a fakey "merge" that isn't a real merge and that doesn't make sense for anybody else because it doesn't actually add any real knowledge about the _history_ of the tree (only about a single repository). If you want to see how the history of a particular repository has evolved, you can just look at the reflog (although admittedly, common tools like "gitk" don't even show it - the data is there if they would want to, but the most common usage is the above kind of "show me what happened in the last five hours in my current branch". 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