threads / discuss / 25028

git log over restricts output when using --follow?

Subject: git log over restricts output when using --follow?

## tl;dr

2 messages between Sep 8, 2010 and Sep 9, 2010.

replies: 1people: 2as markdown or json

Gregg Leichtman· Sep 8, 2010, 00:15 UTC · lore
Before I post this as a possible defect, I wanted to check here.
On the following server:
|gsl@aragorn:~/gitTest> uname -a
Linux aragorn 2.6.31.12-0.2-default #1 SMP 2010-03-16 21:25:39 +0100 i686 i686 i386 GNU/Linux
gsl@aragorn:~/gitTest> cat /etc/SuSE-release
openSUSE 11.2 (i586)
VERSION = 11.2
|
I use the following git:
|gsl@aragorn:~/gitTest> git --version
git version 1.7.2.3
|
I get (with a bash alias of |gitnp='git --no-pager'|):
(1)
|gsl@aragorn:~/gitTest> gitnp log --pretty=oneline junk.txt
500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
594ceed7a0fb35a860a6e2cb913d5398f09a861f 1st mod junk.txt
df271b2ebd5801bd8d827b0630577cad51c40896 initial junk.txt
|
(2)
|gsl@aragorn:~/gitTest> gitnp log --follow --pretty=oneline junk.txt
500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
594ceed7a0fb35a860a6e2cb913d5398f09a861f 1st mod junk.txt
df271b2ebd5801bd8d827b0630577cad51c40896 initial junk.txt
|
(3)
|gsl@aragorn:~/gitTest> gitnp log -2 --follow --pretty=oneline junk.txt
500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
|
(4)
|gsl@aragorn:~/gitTest> gitnp log -2 --pretty=oneline junk.txt
500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
594ceed7a0fb35a860a6e2cb913d5398f09a861f 1st mod junk.txt
|
Why don't I see 2 output lines for item (3) above?
-=> Gregg <=-
Jeff King· Sep 9, 2010, 19:51 UTC · re: Gregg Leichtman · lore

Re: git log over restricts output when using --follow?

On Tue, Sep 07, 2010 at 08:15:42PM -0400, Gregg Leichtman wrote:
Show 14 quoted lines
> (3)
> 
> |gsl@aragorn:~/gitTest> gitnp log -2 --follow --pretty=oneline junk.txt
> 500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
> |
> 
> (4)
> 
> |gsl@aragorn:~/gitTest> gitnp log -2 --pretty=oneline junk.txt
> 500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3
> 594ceed7a0fb35a860a6e2cb913d5398f09a861f 1st mod junk.txt
> |
> 
> Why don't I see 2 output lines for item (3) above?

Without looking closer into the problem, I would guess that it is because of the hack-ish way that --follow is implemented. That is, most history pruning and simplification happens outside of the actual --follow traversal. So yes, it looks like a defect, but fixing it may involve rewriting --follow entirely.

But don't let that discourage you from looking further. :)
-Peff

← back to recent threads