##// END OF EJS Templates
patch: don't separate \r and \n when colorizing diff output...
patch: don't separate \r and \n when colorizing diff output When displaying diffs, \r at the end of a line is treated as trailing whitespace. This causes an ANSI escape code to be inserted between \r and \n. Some programs, such as less since version 530 (maybe earlier, but at least not version 487) displays ^M when it encounters a lone \r. This causes a lot of noise in diff output on Windows, where \r\n is used to terminate lines. We avoid that by treating both \n and \r\n as end of line when considering trailing whitespace.

File last commit:

r35965:a36d3c8a default
r38649:e1987261 default
Show More
test-diff-binary-file.t
144 lines | 4.7 KiB | text/troff | Tads3Lexer
/ tests / test-diff-binary-file.t
Adrian Buehlmann
tests: unify test-diff-binary-file
r12151 $ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ cp "$TESTDIR/binfile.bin" .
Adrian Buehlmann
tests: unify test-diff-binary-file
r12151 $ hg add binfile.bin
$ hg ci -m 'add binfile.bin'
$ echo >> binfile.bin
$ hg ci -m 'change binfile.bin'
$ hg revert -r 0 binfile.bin
$ hg ci -m 'revert binfile.bin'
Martin von Zweigbergk
diff: use binary diff when copy source is binary...
r23924 $ hg cp binfile.bin nonbinfile
$ echo text > nonbinfile
$ hg ci -m 'make non-binary copy of binary file'
Adrian Buehlmann
tests: unify test-diff-binary-file
r12151
$ hg diff --nodates -r 0 -r 1
diff -r 48b371597640 -r acea2ab458c8 binfile.bin
Binary file binfile.bin has changed
$ hg diff --nodates -r 0 -r 2
$ hg diff --git -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
index 37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9..58dc31a9e2f40f74ff3b45903f7d620b8e5b7356
GIT binary patch
literal 594
zc$@)J0<HatP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-Uh9TW;VpMjwv0005-Nkl<ZD9@FWPs=e;7{<>W$NUkd
zX$nnYLt$-$V!?uy+1V%`z&Eh=ah|duER<4|QWhju3gb^nF*8iYobxWG-qqXl=2~5M
z*IoDB)sG^CfNuoBmqLTVU^<;@nwHP!1wrWd`{(mHo6VNXWtyh{alzqmsH*yYzpvLT
zLdY<T=ks|woh-`&01!ej#(xbV1f|pI*=%;d-%F*E*X#ZH`4I%6SS+$EJDE&ct=8po
ziN#{?_j|kD%Cd|oiqds`xm@;oJ-^?NG3Gdqrs?5u*zI;{nogxsx~^|Fn^Y?Gdc6<;
zfMJ+iF1J`LMx&A2?dEwNW8ClebzPTbIh{@$hS6*`kH@1d%Lo7fA#}N1)oN7`gm$~V
z+wDx#)OFqMcE{s!JN0-xhG8ItAjVkJwEcb`3WWlJfU2r?;Pd%dmR+q@mSri5q9_W-
zaR2~ECX?B2w+zELozC0s*6Z~|QG^f{3I#<`?)Q7U-JZ|q5W;9Q8i_=pBuSzunx=U;
z9C)5jBoYw9^?EHyQl(M}1OlQcCX>lXB*ODN003Z&P17_@)3Pi=i0wb04<W?v-u}7K
zXmmQA+wDgE!qR9o8jr`%=ab_&uh(l?R=r;Tjiqon91I2-hIu?57~@*4h7h9uORK#=
gQItJW-{SoTm)8|5##k|m00000NkvXXu0mjf3JwksH2?qr
$ hg diff --git -r 0 -r 2
Stephen Lee
diff: add nobinary config to suppress git-style binary diffs
r21790 $ hg diff --config diff.nobinary=True --git -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
Binary file binfile.bin has changed
Mateusz Kwapich
patch: disable nobinary when HGPLAIN=1...
r27401 $ HGPLAIN=1 hg diff --config diff.nobinary=True --git -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
index 37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9..58dc31a9e2f40f74ff3b45903f7d620b8e5b7356
GIT binary patch
literal 594
zc$@)J0<HatP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-Uh9TW;VpMjwv0005-Nkl<ZD9@FWPs=e;7{<>W$NUkd
zX$nnYLt$-$V!?uy+1V%`z&Eh=ah|duER<4|QWhju3gb^nF*8iYobxWG-qqXl=2~5M
z*IoDB)sG^CfNuoBmqLTVU^<;@nwHP!1wrWd`{(mHo6VNXWtyh{alzqmsH*yYzpvLT
zLdY<T=ks|woh-`&01!ej#(xbV1f|pI*=%;d-%F*E*X#ZH`4I%6SS+$EJDE&ct=8po
ziN#{?_j|kD%Cd|oiqds`xm@;oJ-^?NG3Gdqrs?5u*zI;{nogxsx~^|Fn^Y?Gdc6<;
zfMJ+iF1J`LMx&A2?dEwNW8ClebzPTbIh{@$hS6*`kH@1d%Lo7fA#}N1)oN7`gm$~V
z+wDx#)OFqMcE{s!JN0-xhG8ItAjVkJwEcb`3WWlJfU2r?;Pd%dmR+q@mSri5q9_W-
zaR2~ECX?B2w+zELozC0s*6Z~|QG^f{3I#<`?)Q7U-JZ|q5W;9Q8i_=pBuSzunx=U;
z9C)5jBoYw9^?EHyQl(M}1OlQcCX>lXB*ODN003Z&P17_@)3Pi=i0wb04<W?v-u}7K
zXmmQA+wDgE!qR9o8jr`%=ab_&uh(l?R=r;Tjiqon91I2-hIu?57~@*4h7h9uORK#=
gQItJW-{SoTm)8|5##k|m00000NkvXXu0mjf3JwksH2?qr
Martin von Zweigbergk
diff: use binary diff when copy source is binary...
r23924 $ hg diff --git -r 2 -r 3
diff --git a/binfile.bin b/nonbinfile
copy from binfile.bin
copy to nonbinfile
index 37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9..8e27be7d6154a1f68ea9160ef0e18691d20560dc
GIT binary patch
literal 5
Mc$_OqttjCF00uV!&;S4c
Alexander Fomin
patch: make diff in git mode respect --text option (issue5510)...
r31821 $ cd ..
Test text mode with extended git-style diff format
$ hg init b
$ cd b
$ cat > writebin.py <<EOF
> import sys
> path = sys.argv[1]
Pulkit Goyal
py3: add b'' prefixes to string literals in test files...
r35965 > open(path, 'wb').write(b'\x00\x01\x02\x03')
Alexander Fomin
patch: make diff in git mode respect --text option (issue5510)...
r31821 > EOF
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON writebin.py binfile.bin
Alexander Fomin
patch: make diff in git mode respect --text option (issue5510)...
r31821 $ hg add binfile.bin
$ hg ci -m 'add binfile.bin'
$ echo >> binfile.bin
$ hg ci -m 'change binfile.bin'
$ hg diff --git -a -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
--- a/binfile.bin
+++ b/binfile.bin
@@ -1,1 +1,1 @@
-\x00\x01\x02\x03 (esc)
\ No newline at end of file
+\x00\x01\x02\x03 (esc)
$ HGPLAIN=1 hg diff --git -a -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
--- a/binfile.bin
+++ b/binfile.bin
@@ -1,1 +1,1 @@
-\x00\x01\x02\x03 (esc)
\ No newline at end of file
+\x00\x01\x02\x03 (esc)
Martin von Zweigbergk
diff: use binary diff when copy source is binary...
r23924
Alexander Fomin
diff: add --binary option for git mode diffs...
r31822 Test binary mode with extended git-style diff format
$ hg diff --no-binary -r 0 -r 1
diff -r fb45f71337ad -r 9ca112d1a3c1 binfile.bin
Binary file binfile.bin has changed
$ hg diff --git --no-binary -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
Binary file binfile.bin has changed
$ hg diff --git --binary -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
index eaf36c1daccfdf325514461cd1a2ffbc139b5464..ba71a782e93f3fb63a428383706065e3ec2828e9
GIT binary patch
literal 5
Mc${NkWMbw50018V5dZ)H
$ hg diff --git --binary --config diff.nobinary=True -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
index eaf36c1daccfdf325514461cd1a2ffbc139b5464..ba71a782e93f3fb63a428383706065e3ec2828e9
GIT binary patch
literal 5
Mc${NkWMbw50018V5dZ)H
$ hg diff --git --binary --text -r 0 -r 1
diff --git a/binfile.bin b/binfile.bin
--- a/binfile.bin
+++ b/binfile.bin
@@ -1,1 +1,1 @@
-\x00\x01\x02\x03 (esc)
\ No newline at end of file
+\x00\x01\x02\x03 (esc)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..