• Linus Torvalds's avatar
    Fix machine-parseability of 'git log --source' · 8c4021ab
    Linus Torvalds authored
    The space between the commit and the source attribute is not easily
    machine-parseable: if we combine --source with --parents and give a SHA1
    as a starting point, it's unnecessarily hard to see where the list of
    parents ends and the source decoration begins.
    
    Example:
    	git show --parents --source $(git rev-list HEAD)
    
    which is admittedly contrived, but can easily happen in scripting.
    
    So use a <tab> instead of a space as the source separator.
    
    The other decorations didn't have this issue, because they were surrounded
    by parenthesis, so it's obvious that they aren't parent SHA1's.
    
    It so happens that _visually_ this makes no difference for "git log
    --source", since "commit <40-char SHA1>" is 47 characters, so both a space
    and a <tab> will end up showing as a single commit. Of course, with
    '--pretty=oneline' or '--parents' or '--abbrev-commit' you'll see the
    difference.
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    8c4021ab
log-tree.c 13 KB