Fix embarrassing "git log --follow" bug
It turns out that I completely broke "git log --follow" with my recent
patch to revision.c ("Fix revision log diff setup, avoid unnecessary diff
generation", commit b7bb760d5e
).
Why? Because --follow obviously requires the diff machinery to function,
exactly the same way pickaxe does.
So everybody is away right now, but considering that nobody even noticed
this bug, I don't think it matters. But for the record, here's the trivial
one-liner fix (well, two, since I also fixed the comment).
Because of the nature of the bug, if you ask for patches when following
(which is one of the things I normally do), the bug is hidden, because
then the request for diff output will automatically also enable the diffs
themselves.
So while "git log --follow <filename>" didn't work, adding a "-p"
magically made it work again even without this fix.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
4c75136f76
commit
99516e35d0
@ -1256,8 +1256,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
|
||||
if (revs->diffopt.output_format & ~DIFF_FORMAT_NO_OUTPUT)
|
||||
revs->diff = 1;
|
||||
|
||||
/* Pickaxe needs diffs */
|
||||
if (revs->diffopt.pickaxe)
|
||||
/* Pickaxe and rename following needs diffs */
|
||||
if (revs->diffopt.pickaxe || revs->diffopt.follow_renames)
|
||||
revs->diff = 1;
|
||||
|
||||
if (revs->topo_order)
|
||||
|
Loading…
Reference in New Issue
Block a user