Hi, On Tue, 29 Jul 2008, Jeff King wrote: > > > Perhaps I am just slow, but I haven't been able to figure out what that > > > history is, or what the "correct" output should be. Can you try to state > > > more clearly what it is you are looking for? > > > > Most frequently this involves changes where the same change is merged > > twice. Another interesting example is kernel/printk.c where a change is > > added and later removed again before it's merged. > > I glanced briefly over "gitk kernel/printk.c" and it looks pretty sane. > I was really hoping for you to make your case as something like: > > 1. here is an ascii diagram of an actual history graph (or a recipe of > git commands for making one) > 2. here is what git-log (or gitk) produces for this history by > default; and here is why it is not optimal (presumably some > information it fails to convey) > 3. here is what git-log (or gitk) with --full-history produces; and > here is why it is not optimal (presumably because it is too messy) > 4. here is what output I would like to see. Bonus points for "and here > is an algorithm that accomplishes it." For printk.c look for commit 02630a12c7f72fa294981c8d86e38038781c25b7 and try to find it in the graphical outputs. Here is a bit better example than Linus gave: mkdir test cd test git init echo 1 > file1 echo a > file2 git add file1 file2 git commit -m "initial commit" git tag base git branch test1 base git checkout test1 echo 2 > file1 git commit -a -m "duplicate change 1" git branch test2 base git checkout test2 echo 2 > file1 git commit -a -m "duplicate change 2" git branch test3 base git checkout test3 echo b > file2 git commit -a -m "some other change" git checkout base git merge test1 git merge test2 git merge test3 Now compare the output of "git-log file1", "git-log --full-history file1" and "git-log --full-history --parents file1". You get either both merge commits or none, but only one of it is relevant to file1. The problem is that in practice "git-log --full-history --parents" produces way too much information to be useful right away. bye, Roman -- 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