Re: Bizarre missing changes (git bug?)
From: Roman Zippel <hidden>
Date: 2016-06-15 22:45:04
Hi, On Tue, 29 Jul 2008, Jeff King wrote:
quoted
quoted
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