Mercurial > hg
changeset 15829:2c480532f36e
annotate: append newline after non newline-terminated file listings
The last line of a non newline-terminated file would mix with the first line of
the next file in multiple-file listings before this patch.
Possible compatibility issue: no longer possible to tell from the annotate
output if the file is terminated by new line or not.
author | Ion Savin <ion.savin@tora.com> |
---|---|
date | Tue, 10 Jan 2012 10:18:19 +0200 |
parents | 4bc715f2a356 |
children | 8ed112ed774a |
files | mercurial/commands.py tests/test-annotate.t |
diffstat | 2 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Tue Jan 10 13:48:42 2012 -0600 +++ b/mercurial/commands.py Tue Jan 10 10:18:19 2012 +0200 @@ -299,6 +299,9 @@ for p, l in zip(zip(*pieces), lines): ui.write("%s: %s" % ("".join(p), l[1])) + if lines and not lines[-1][1].endswith('\n'): + ui.write('\n') + @command('archive', [('', 'no-decode', None, _('do not pass files through decoders')), ('p', 'prefix', '', _('directory prefix for files in archive'),
--- a/tests/test-annotate.t Tue Jan 10 13:48:42 2012 -0600 +++ b/tests/test-annotate.t Tue Jan 10 10:18:19 2012 +0200 @@ -255,6 +255,18 @@ abort: nosuchfile: no such file in rev e9e6b4fa872f [255] +annotate file without '\n' on last line + + $ printf "" > c + $ hg ci -A -m test -u nobody -d '1 0' + adding c + $ hg annotate c + $ printf "a\nb" > c + $ hg ci -m test + $ hg annotate c + [0-9]+: a (re) + [0-9]+: b (re) + Test annotate with whitespace options $ cd ..