Code

gitweb.cgi history not shown
authorLinus Torvalds <torvalds@osdl.org>
Sun, 11 Jun 2006 17:57:35 +0000 (10:57 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 17 Jun 2006 05:53:11 +0000 (22:53 -0700)
commit9202434cbdfb123f41fc677bbf36ff21f6094fc8
tree1ed33c63cbead8f2c29374b7a5e3aed50686e1ef
parentbfbd0bb6ecbbbf75a5caaff6afaf5a6af8fa518e
gitweb.cgi history not shown

This does:

 - add a "rev.simplify_history" flag which defaults to on
 - it turns it off for "git whatchanged" (which thus now has real
   semantics outside of "git log")
 - it adds a command line flag ("--full-history") to turn it off for
   others (ie you can make "git log" and "gitk" etc get the semantics if
   you want to.

Now, just as an example of _why_ you really really really want to simplify
history by default, apply this patch, install it, and try these two
command lines:

gitk --full-history -- git.c
gitk -- git.c

and compare the output.

So with this, you can also now do

git whatchanged -p -- gitweb.cgi
git log -p --full-history -- gitweb.cgi

and it will show the old history of gitweb.cgi, even though it's not
relevant to the _current_ state of the name "gitweb.cgi"

NOTE NOTE NOTE! It will still actually simplify away merges that didn't
change anything at all into either child. That creates these bogus strange
discontinuities if you look at it with "gitk" (look at the --full-history
gitk output for git.c, and you'll see a few strange cases).

So the whole "--parent" thing ends up somewhat bogus with --full-history
because of this, but I'm not sure it's worth even worrying about. I don't
think you'd ever want to really use "--full-history" with the graphical
representation, I just give it as an example exactly to show _why_ doing
so would be insane.

I think this is trivial enough and useful enough to be worth merging into
the stable branch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-log.c
revision.c
revision.h