aboutsummaryrefslogtreecommitdiff
path: root/diff-lib.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@osdl.org>2006-06-30 20:21:59 -0700
committerJunio C Hamano <junkio@cox.net>2006-07-01 18:21:03 -0700
commit6631c73685bea3c6300938f4900db0d0c6bee457 (patch)
treeb74be713788694ce8e7b62f6fac28314c64f3d49 /diff-lib.c
parentac3bc6c1d1f549f6809d8a7d29bcaed302f3c193 (diff)
downloadgit-6631c73685bea3c6300938f4900db0d0c6bee457.tar.gz
git-6631c73685bea3c6300938f4900db0d0c6bee457.tar.xz
revision.c: --full-history fix.
With history simplification, we still show merges that are required to make the history _complete_, i.e. say that you had: a | b / \ c d | | and neither "a" nor "b" actually changed the file, but both "c" and "d" did: in this case we have to leave "b" around just because otherwise there would be no way to show the _relationship_, even if "b" itself doesn't actually change the tree in any way what-so-ever. It would make sense to make that further simplification if the "--parents" flag wasn't present. In that case the user is literally asking for a list of commits and is not interested in the relationship between them. This patch also fixes a real bug. Without this patch, the "--parents --full-history" combination (which you'd get if you do something like gitk --full-history Makefile or similar) will actually _drop_ merges where all children are identical. That's wrong in the --full-history case, because it means that the graph ends up missing lots of entries. In the process, this also should make git-rev-list --full-history Makefile give just the _true_ list of all commits that changed Makefile (and properly ignore merges that were identical in one parent), because now we're not asking for "--parent", so we don't need the unnecessary merge commits to keep the history together. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'diff-lib.c')
0 files changed, 0 insertions, 0 deletions