merge with stable
authorKevin Bullock <kbullock@ringworld.org>
Tue, 04 Dec 2012 11:19:32 -0600
changeset 18031 54f063acc5ea
parent 18027 4ca434500dbf (current diff)
parent 18023 5cafcac2414c (diff)
child 18032 a9e623bb440e
merge with stable
mercurial/cmdutil.py
mercurial/subrepo.py
--- a/.hgsigs	Mon Dec 03 13:17:01 2012 -0800
+++ b/.hgsigs	Tue Dec 04 11:19:32 2012 -0600
@@ -61,3 +61,4 @@
 b3f0f9a39c4e1d0250048cd803ab03542d6f140a 0 iD8DBQBQamltywK+sNU5EO8RAlsqAJ4qF/m6aFu4mJCOKTiAP5RvZFK02ACfawYShUZO6OXEFfveU0aAxDR0M1k=
 d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 0 iD8DBQBQgPV5ywK+sNU5EO8RArylAJ0abcx5NlDjyv3ZDWpAfRIHyRsJtQCgn4TMuEayqgxzrvadQZHdTEU2g38=
 195ad823b5d58c68903a6153a25e3fb4ed25239d 0 iD8DBQBQkuT9ywK+sNU5EO8RAhB4AKCeerItoK2Jipm2cVf4euGofAa/WACeJj3TVd4pFILpb+ogj7ebweFLJi0=
+0c10cf8191469e7c3c8844922e17e71a176cb7cb 0 iD8DBQBQvQWoywK+sNU5EO8RAnq3AJoCn98u4geFx5YaQaeh99gFhCd7bQCgjoBwBSUyOvGd0yBy60E3Vv3VZhM=
--- a/.hgtags	Mon Dec 03 13:17:01 2012 -0800
+++ b/.hgtags	Tue Dec 04 11:19:32 2012 -0600
@@ -74,3 +74,4 @@
 b3f0f9a39c4e1d0250048cd803ab03542d6f140a 2.3.2
 d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 2.4-rc
 195ad823b5d58c68903a6153a25e3fb4ed25239d 2.4
+0c10cf8191469e7c3c8844922e17e71a176cb7cb 2.4.1
--- a/mercurial/cmdutil.py	Mon Dec 03 13:17:01 2012 -0800
+++ b/mercurial/cmdutil.py	Tue Dec 04 11:19:32 2012 -0600
@@ -627,7 +627,7 @@
                 # subpath. The best we can do is to ignore it.
                 tempnode2 = None
             submatch = matchmod.narrowmatcher(subpath, match)
-            sub.diff(diffopts, tempnode2, submatch, changes=changes,
+            sub.diff(ui, diffopts, tempnode2, submatch, changes=changes,
                      stat=stat, fp=fp, prefix=prefix)
 
 class changeset_printer(object):
--- a/mercurial/subrepo.py	Mon Dec 03 13:17:01 2012 -0800
+++ b/mercurial/subrepo.py	Tue Dec 04 11:19:32 2012 -0600
@@ -330,7 +330,7 @@
     def status(self, rev2, **opts):
         return [], [], [], [], [], [], []
 
-    def diff(self, diffopts, node2, match, prefix, **opts):
+    def diff(self, ui, diffopts, node2, match, prefix, **opts):
         pass
 
     def outgoing(self, ui, dest, opts):
@@ -437,14 +437,14 @@
                                % (inst, subrelpath(self)))
             return [], [], [], [], [], [], []
 
-    def diff(self, diffopts, node2, match, prefix, **opts):
+    def diff(self, ui, diffopts, node2, match, prefix, **opts):
         try:
             node1 = node.bin(self._state[1])
             # We currently expect node2 to come from substate and be
             # in hex format
             if node2 is not None:
                 node2 = node.bin(node2)
-            cmdutil.diffordiffstat(self._repo.ui, self._repo, diffopts,
+            cmdutil.diffordiffstat(ui, self._repo, diffopts,
                                    node1, node2, match,
                                    prefix=posixpath.join(prefix, self._path),
                                    listsubrepos=True, **opts)
--- a/tests/test-diff-color.t	Mon Dec 03 13:17:01 2012 -0800
+++ b/tests/test-diff-color.t	Tue Dec 04 11:19:32 2012 -0600
@@ -125,6 +125,38 @@
    c
   \x1b[0;33mrecord this change to 'a'? [Ynesfdaq?]\x1b[0m  (esc)
 
+  $ hg qpop -a
+  popping patch
+  patch queue now empty
+
 #endif
 
+issue3712: test colorization of subrepo diff
+
+  $ hg init sub
+  $ echo b > sub/b
+  $ hg -R sub commit -Am 'create sub'
+  adding b
+  $ echo 'sub = sub' > .hgsub
+  $ hg add .hgsub
+  $ hg commit -m 'add subrepo sub'
+  $ echo aa >> a
+  $ echo bb >> sub/b
+
+  $ hg diff --color=always -S
+  \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
+  \x1b[0;31;1m--- a/a\x1b[0m (esc)
+  \x1b[0;32;1m+++ b/a\x1b[0m (esc)
+  \x1b[0;35m@@ -7,3 +7,4 @@\x1b[0m (esc)
+   a
+   c
+   c
+  \x1b[0;32m+aa\x1b[0m (esc)
+  \x1b[0;1mdiff --git a/sub/b b/sub/b\x1b[0m (esc)
+  \x1b[0;31;1m--- a/sub/b\x1b[0m (esc)
+  \x1b[0;32;1m+++ b/sub/b\x1b[0m (esc)
+  \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
+   b
+  \x1b[0;32m+bb\x1b[0m (esc)
+
   $ cd ..