[PATCH 8 of 9] patch.diffopts: add support for noprefix

Siddharth Agarwal sid0 at fb.com
Thu Nov 13 02:22:16 CST 2014


# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1415866124 28800
#      Thu Nov 13 00:08:44 2014 -0800
# Node ID 2f2ee487be30093c3cc009569bcebf957d3e5220
# Parent  39b43cb28effba4c6efc35b8b98827cd93b74f50
patch.diffopts: add support for noprefix

In an upcoming patch we'll enable support as an option to 'hg diff' as well.

diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
--- a/mercurial/help/config.txt
+++ b/mercurial/help/config.txt
@@ -547,6 +547,9 @@
 ``nodates``
     Don't include dates in diff headers.
 
+``noprefix``
+    Omit 'a/' and 'b/' prefixes from filenames. Ignored in plain mode.
+
 ``showfunc``
     Show which function each change is in.
 
diff --git a/mercurial/patch.py b/mercurial/patch.py
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1573,6 +1573,7 @@
         git=get('git'),
         nodates=get('nodates'),
         nobinary=get('nobinary'),
+        noprefix=get('noprefix', forceplain=False),
         showfunc=get('show_function', 'showfunc'),
         ignorews=get('ignore_all_space', 'ignorews'),
         ignorewsamount=get('ignore_space_change', 'ignorewsamount'),
diff --git a/tests/test-diff-unified.t b/tests/test-diff-unified.t
--- a/tests/test-diff-unified.t
+++ b/tests/test-diff-unified.t
@@ -89,6 +89,38 @@
   abort: diff context lines count must be an integer, not 'foo'
   [255]
 
+noprefix config
+
+  $ hg --config diff.noprefix=True diff --nodates
+  diff -r cf9f4ba66af2 a
+  --- a
+  +++ a
+  @@ -2,7 +2,7 @@
+   c
+   a
+   a
+  -b
+  +dd
+   a
+   a
+   c
+
+noprefix disabled in plain mode
+
+  $ HGPLAIN=1 hg --config diff.noprefix=True diff --nodates
+  diff -r cf9f4ba66af2 a
+  --- a/a
+  +++ b/a
+  @@ -2,7 +2,7 @@
+   c
+   a
+   a
+  -b
+  +dd
+   a
+   a
+   c
+
   $ cd ..
 
 
@@ -171,6 +203,30 @@
   -a
   +b
 
+Git diff with noprefix
+
+  $ hg --config diff.noprefix=True diff --git --nodates
+  diff --git f1 f 1
+  rename from f1
+  rename to f 1
+  --- f1
+  +++ f 1	
+  @@ -1,1 +1,1 @@
+  -a
+  +b
+
+noprefix config disabled in plain mode
+
+  $ HGPLAIN=1 hg --config diff.noprefix=True diff --git --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
 
   $ hg ci -m addspace


More information about the Mercurial-devel mailing list