diff: add a --noprefix option
authorSiddharth Agarwal <sid0@fb.com>
Thu, 13 Nov 2014 00:13:48 -0800
changeset 23298 dc4d0c7b7d94
parent 23297 d7abae94a7a0
child 23299 1f510efcd5f3
diff: add a --noprefix option See previous patch descriptions for the motivation. The tests reflect the current state of the world -- as we add support we'll see changes in the test output.
mercurial/commands.py
tests/test-completion.t
tests/test-diff-unified.t
tests/test-help.t
--- a/mercurial/commands.py	Thu Nov 13 00:08:44 2014 -0800
+++ b/mercurial/commands.py	Thu Nov 13 00:13:48 2014 -0800
@@ -141,6 +141,7 @@
     ]
 
 diffopts2 = [
+    ('', 'noprefix', None, _('omit a/ and b/ prefixes from filenames')),
     ('p', 'show-function', None, _('show which function each change is in')),
     ('', 'reverse', None, _('produce a diff that undoes the changes')),
     ] + diffwsopts + [
--- a/tests/test-completion.t	Thu Nov 13 00:08:44 2014 -0800
+++ b/tests/test-completion.t	Thu Nov 13 00:13:48 2014 -0800
@@ -202,7 +202,7 @@
   annotate: rev, follow, no-follow, text, user, file, date, number, changeset, line-number, ignore-all-space, ignore-space-change, ignore-blank-lines, include, exclude, template
   clone: noupdate, updaterev, rev, branch, pull, uncompressed, ssh, remotecmd, insecure
   commit: addremove, close-branch, amend, secret, edit, include, exclude, message, logfile, date, user, subrepos
-  diff: rev, change, text, git, nodates, show-function, reverse, ignore-all-space, ignore-space-change, ignore-blank-lines, unified, stat, include, exclude, subrepos
+  diff: rev, change, text, git, nodates, noprefix, show-function, reverse, ignore-all-space, ignore-space-change, ignore-blank-lines, unified, stat, include, exclude, subrepos
   export: output, switch-parent, rev, text, git, nodates
   forget: include, exclude
   init: ssh, remotecmd, insecure
--- a/tests/test-diff-unified.t	Thu Nov 13 00:08:44 2014 -0800
+++ b/tests/test-diff-unified.t	Thu Nov 13 00:13:48 2014 -0800
@@ -89,7 +89,7 @@
   abort: diff context lines count must be an integer, not 'foo'
   [255]
 
-noprefix config
+noprefix config and option
 
   $ hg --config diff.noprefix=True diff --nodates
   diff -r cf9f4ba66af2 a
@@ -104,8 +104,21 @@
    a
    a
    c
+  $ hg diff --noprefix --nodates
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -2,7 +2,7 @@
+   c
+   a
+   a
+  -b
+  +dd
+   a
+   a
+   c
 
-noprefix disabled in plain mode
+noprefix config disabled in plain mode, but option still enabled
 
   $ HGPLAIN=1 hg --config diff.noprefix=True diff --nodates
   diff -r cf9f4ba66af2 a
@@ -120,6 +133,19 @@
    a
    a
    c
+  $ HGPLAIN=1 hg diff --noprefix --nodates
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -2,7 +2,7 @@
+   c
+   a
+   a
+  -b
+  +dd
+   a
+   a
+   c
 
   $ cd ..
 
@@ -215,7 +241,7 @@
   -a
   +b
 
-noprefix config disabled in plain mode
+noprefix config disabled in plain mode, but option still enabled
 
   $ HGPLAIN=1 hg --config diff.noprefix=True diff --git --nodates
   diff --git a/f1 b/f 1
@@ -226,6 +252,15 @@
   @@ -1,1 +1,1 @@
   -a
   +b
+  $ HGPLAIN=1 hg diff --git --noprefix --nodates
+  diff --git a/f1 b/f 1
+  rename from f1
+  rename to f 1
+  --- a/f1
+  +++ b/f 1	
+  @@ -1,1 +1,1 @@
+  -a
+  +b
 
 Regular diff --nodates, file deletion
 
--- a/tests/test-help.t	Thu Nov 13 00:08:44 2014 -0800
+++ b/tests/test-help.t	Thu Nov 13 00:13:48 2014 -0800
@@ -500,6 +500,7 @@
    -a --text                treat all files as text
    -g --git                 use git extended diff format
       --nodates             omit dates from diff headers
+      --noprefix            omit a/ and b/ prefixes from filenames
    -p --show-function       show which function each change is in
       --reverse             produce a diff that undoes the changes
    -w --ignore-all-space    ignore white space when comparing lines