Skip to content
  • Linus Torvalds's avatar
    Fix "git diff --stat" with long filenames · 5d6a9f45
    Linus Torvalds authored
    
    
    When we cut off the front of a filename to make it fit on the line, we add
    a "..." in front. However, the way the "git diff" code was written, we
    will never reset the prefix back to the empty string, so every single
    filename afterwards will have the "..." prefix, whether appropriate or
    not.
    
    You can see this with "git diff v2.6.16.." on the current kernel tree,
    since there are filenames with long names that changed there:
    
     [ snip snip ]
     Documentation/filesystems/vfs.txt                  |  229
     .../firmware_class/firmware_sample_driver.c        |    3
     .../firmware_sample_firmware_class.c               |    1
     ...Documentation/fujitsu/frv/kernel-ABI.txt           |  192
     ...Documentation/hwmon/w83627hf                       |    4
     [ snip snip ]
    
    notice how the two Documentation/firmware** filenames caused the "..." to
    be added, but then the later filenames don't want it, and it also screws
    up the alignment of the line numbering afterwards.
    
    Trivially fixed by moving the declaration (and initial setting) of the
    "prefix" variable into the for-loop where it is used.
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
    5d6a9f45