[PATCH 1 of 4] patch: make diff in Git mode respect --text option (issue5510)
Alexander Fomin
afomin at fb.com
Tue Apr 4 22:21:20 UTC 2017
# HG changeset patch
# User Alexander Fomin <afomin at fb.com>
# Date 1490992236 25200
# Fri Mar 31 13:30:36 2017 -0700
# Node ID 9be2b4ec19e846d2a95fe801ebe76f83fffd1ea9
# Parent 65969cd351b73228642d1e491e8c78b20d85405a
patch: make diff in Git mode respect --text option (issue5510)
This changeset makes patch respect -a/--text option in --git mode by aligning
its behaviour with Git itself.
diff --git a/mercurial/patch.py b/mercurial/patch.py
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -2552,7 +2552,7 @@ def trydiff(repo, revs, ctx1, ctx2, modi
elif revs and not repo.ui.quiet:
header.append(diffline(path1, revs))
- if binary and opts.git and not opts.nobinary:
+ if binary and opts.git and not opts.nobinary and not opts.text:
text = mdiff.b85diff(content1, content2)
if text:
header.append('index %s..%s' %
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
@@ -73,5 +73,38 @@
literal 5
Mc$_OqttjCF00uV!&;S4c
+ $ cd ..
+
+ $ hg init b
+ $ cd b
+ $ cat > writebin.py <<EOF
+ > import sys
+ > path = sys.argv[1]
+ > open(path, 'wb').write('\x00\x01\x02\x03')
+ > EOF
+ $ python writebin.py binfile.bin
+ $ 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)
$ cd ..
More information about the Mercurial-devel
mailing list