[PATCH] patch: disable nobinary when HGPLAIN=1

Siddharth Agarwal sid at less-broken.com
Thu Dec 17 15:16:44 CST 2015


On 12/17/15 11:42, Mateusz Kwapich wrote:
> # HG changeset patch
> # User Mateusz Kwapich <mitrandir at fb.com>
> # Date 1450378806 28800
> #      Thu Dec 17 11:00:06 2015 -0800
> # Node ID 7014ac5db73d4b3db51a641cb0e1c09a5e41cf93
> # Parent  4f2b6ddb431d921fe3d05d557a7334b76c2f4990
> patch: disable nobinary when HGPLAIN=1

This was suggested by me, so as such it LGTM.

>
> 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.
>
> diff --git a/mercurial/patch.py b/mercurial/patch.py
> --- a/mercurial/patch.py
> +++ b/mercurial/patch.py
> @@ -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)
> diff --git a/tests/test-diff-binary-file.t b/tests/test-diff-binary-file.t
> --- a/tests/test-diff-binary-file.t
> +++ b/tests/test-diff-binary-file.t
> @@ -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 at 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 at 1d%Lo7fA#}N1)oN7`gm$~V
> +  z+wDx#)OFqMcE{s!JN0-xhG8ItAjVkJwEcb`3WWlJfU2r?;Pd%dmR+q at 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
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel



More information about the Mercurial-devel mailing list