patch: disable nobinary when HGPLAIN=1
The diff output without binaries is definitely great for interactive users - a
binary patch is not meaningful for them. Although setting diff.nobinary flag
can break the automation. Let's force full output for automation.
--- a/mercurial/patch.py Thu Dec 17 22:29:41 2015 +0900
+++ b/mercurial/patch.py Thu Dec 17 11:00:06 2015 -0800
@@ -2146,7 +2146,7 @@
'ignoreblanklines')
if formatchanging:
buildopts['text'] = opts and opts.get('text')
- buildopts['nobinary'] = get('nobinary')
+ buildopts['nobinary'] = get('nobinary', forceplain=False)
buildopts['noprefix'] = get('noprefix', forceplain=False)
return mdiff.diffopts(**buildopts)
--- a/tests/test-diff-binary-file.t Thu Dec 17 22:29:41 2015 +0900
+++ b/tests/test-diff-binary-file.t Thu Dec 17 11:00:06 2015 -0800
@@ -44,6 +44,26 @@
diff --git a/binfile.bin b/binfile.bin
Binary file binfile.bin has changed
+ $ 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
+
+
+
$ hg diff --git -r 2 -r 3
diff --git a/binfile.bin b/nonbinfile
copy from binfile.bin