git log over restricts output when using –follow?

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:

  • Does “git push” push all commits from other branches?
  • Installing Latest version of git in ubuntu
  • Git log between tags
  • git pull all branches from remote repository
  • Warning when move project files and directories to subdirectory and keep history
  • Git's local repository and remote repository — confusing concepts
  • gsl@aragorn:~/gitTest> git --version
    
    git version 1.7.2.2
    

    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 <=-


    I upgraded to the latest and greatest, but still have the same problem:

    gsl@aragorn:~/gitTest> git –version

    git version 1.7.2.3

    gsl@aragorn:~/gitTest> gitnp log -2 –follow –pretty=oneline junk.txt
    500e8791578c5baf7a139d4997841769a995ac6b mod of junk and junk3

    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

    So is there another non-graphical reliable git way to obtain this information?

  • Can I revert a specific commit such that it leaves what it would delete as unstaged in the file?
  • untracked files , untracked folders inventory
  • How can I create a merge base in Git?
  • git commit fails due to insufficient permissions
  • Get abbrev-commit for a git branch, cleanly
  • What should Xcode 6 gitignore file include?
  • One Solution collect form web for “git log over restricts output when using –follow?”

    Did you try with git1.7.2.3?

    • git log --follow -M -p” was seriously broken in 1.7.2, reporting
      assertion failure.

    • Running “git log” with an incorrect option started pager nevertheless,
      forcing the user to dismiss it.

    I am not sure why the combination of ‘--follow -2‘ would limit the output to only one line.
    It is however interesting to read what Linux has to say when –follow was introduced:

    --follow is a total hack, meant to just satisfy ex-SVN users who never knew anything about things like parenthood or nice revision graphs anyway.

    It’s not totally fundamental, but the current implementation of “--follow” is really a quick preprocessing thing bolted onto the revision walking logic, rather than being anything really integral.

    It literally was designed as a “SVN noob” pleaser, not as a “real git functionality” thing.
    The idea was that you’d get away from the (broken) mindset of thinking that renames matter in the big picture.

    Git Baby is a git and github fan, let's start git clone.