[PATCH 5 of 5] merge: add other/local markers [RFC]

timeless timeless at mozdev.org
Thu Mar 17 11:46:52 EDT 2016


# HG changeset patch
# User timeless <timeless at mozdev.org>
# Date 1458226294 0
#      Thu Mar 17 14:51:34 2016 +0000
# Node ID 526227903b73939339ad3d8966e444e0a94a30a2
# Parent  8472502ee330689965b34f4bf51286ed4b481203
merge: add other/local markers [RFC]

Adds other/local markers to summary, parents, and log commands

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -6542,6 +6542,19 @@
         # i18n: column positioning for "hg summary"
         ui.write(_('parent: %d:%s ') % (p.rev(), str(p)),
                  label='log.changeset changeset.%s' % p.phasestr())
+        if len(parents) == 2:
+            # these are not for translation
+            if ms is not None:
+                if p == ms.localctx:
+                    ui.write(":local ")
+                elif p == ms.otherctx:
+                    ui.write(":other ")
+            else:
+                if p == parents[0]:
+                    ui.write(":local ")
+                elif p == parents[1]:
+                    ui.write(":other ")
+
         ui.write(' '.join(p.tags()), label='log.tag')
         if p.bookmarks():
             marks.extend(p.bookmarks())
diff --git a/mercurial/namespaces.py b/mercurial/namespaces.py
--- a/mercurial/namespaces.py
+++ b/mercurial/namespaces.py
@@ -49,6 +49,35 @@
                       deprecated=set(['tip']))
         self.addnamespace(n)
 
+        def mergenamemap(repo, name):
+            p = repo[None].parents()
+            if len(p) < 2:
+                return []
+            if name == 'local':
+                return [p[0]]
+            if name == 'other':
+                return [p[1]]
+            return []
+
+        def mergenodemap(repo, node):
+            p = repo[None].parents()
+            if len(p) < 2:
+                return []
+            if node == p[0].node():
+                return ['local']
+            if node == p[1].node():
+                return ['other']
+            return []
+
+        n = namespace("mergeref", templatename="mergeref",
+                      # i18n: column positioning for "hg log"
+                      logfmt=_("mergeref:    %s\n"),
+                      listnames=lambda repo: ['local', 'other'],
+                      namemap=mergenamemap,
+                      nodemap=mergenodemap,
+                      )
+        self.addnamespace(n)
+
         bnames = lambda repo: repo.branchmap().keys()
         bnamemap = lambda repo, name: tolist(repo.branchtip(name, True))
         bnodemap = lambda repo, node: [repo[node].branch()]
diff --git a/tests/test-backout.t b/tests/test-backout.t
--- a/tests/test-backout.t
+++ b/tests/test-backout.t
@@ -550,9 +550,9 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
   $ hg summary
-  parent: 2:45bbcd363bf0 
+  parent: 2:45bbcd363bf0 :local 
    file2
-  parent: 3:d4e8f6db59fb tip
+  parent: 3:d4e8f6db59fb :other tip
    backout on branch1
   branch: branch2
   commit: 1 removed (merge)
diff --git a/tests/test-bookmarks-merge.t b/tests/test-bookmarks-merge.t
--- a/tests/test-bookmarks-merge.t
+++ b/tests/test-bookmarks-merge.t
@@ -87,12 +87,14 @@
   $ hg parents
   changeset:   4:a0546fcfe0fb
   bookmark:    e at diverged
+  mergeref:    local
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     d
   
   changeset:   5:26bee9c5bcf3
   bookmark:    e
+  mergeref:    other
   parent:      3:b8f96cf4688b
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
diff --git a/tests/test-command-template.t b/tests/test-command-template.t
--- a/tests/test-command-template.t
+++ b/tests/test-command-template.t
@@ -3412,12 +3412,13 @@
 Test namespaces dict
 
   $ hg log -T '{rev}{namespaces % " {namespace}={join(names, ",")}"}\n'
-  2 bookmarks=bar,foo tags=tip branches=text.{rev}
-  1 bookmarks=baz tags= branches=text.{rev}
-  0 bookmarks= tags= branches=default
+  2 bookmarks=bar,foo tags=tip mergeref= branches=text.{rev}
+  1 bookmarks=baz tags= mergeref= branches=text.{rev}
+  0 bookmarks= tags= mergeref= branches=default
   $ hg log -r2 -T '{namespaces % "{namespace}: {names}\n"}'
   bookmarks: bar foo
   tags: tip
+  mergeref: 
   branches: text.{rev}
   $ hg log -r2 -T '{namespaces % "{namespace}:\n{names % " {name}\n"}"}'
   bookmarks:
@@ -3425,6 +3426,7 @@
    foo
   tags:
    tip
+  mergeref:
   branches:
    text.{rev}
   $ hg log -r2 -T '{get(namespaces, "bookmarks") % "{name}\n"}'
diff --git a/tests/test-completion.t b/tests/test-completion.t
--- a/tests/test-completion.t
+++ b/tests/test-completion.t
@@ -343,6 +343,8 @@
   fee
   fie
   fo
+  local
+  other
   tip
   $ hg debugnamecomplete f
   fee
diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t
--- a/tests/test-globalopts.t
+++ b/tests/test-globalopts.t
@@ -101,6 +101,7 @@
   $ hg --repo c tip
   changeset:   1:b6c483daf290
   tag:         tip
+  mergeref:    other
   parent:      -1:000000000000
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
@@ -112,6 +113,7 @@
   $ hg --cwd a --cwd b --cwd c tip
   changeset:   1:b6c483daf290
   tag:         tip
+  mergeref:    other
   parent:      -1:000000000000
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
@@ -183,6 +185,7 @@
   $ hg --cwd c head -v
   changeset:   1:b6c483daf290
   tag:         tip
+  mergeref:    other
   parent:      -1:000000000000
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
@@ -192,6 +195,7 @@
   
   
   changeset:   0:8580ff50825a
+  mergeref:    local
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
   files:       a
@@ -235,6 +239,7 @@
   $ hg --cwd c log --debug
   changeset:   1:b6c483daf2907ce5825c0bb50f5716226281cc1a
   tag:         tip
+  mergeref:    other
   phase:       public
   parent:      -1:0000000000000000000000000000000000000000
   parent:      -1:0000000000000000000000000000000000000000
@@ -248,6 +253,7 @@
   
   
   changeset:   0:8580ff50825a50c8f716709acdf8de0deddcd6ab
+  mergeref:    local
   phase:       public
   parent:      -1:0000000000000000000000000000000000000000
   parent:      -1:0000000000000000000000000000000000000000
diff --git a/tests/test-log.t b/tests/test-log.t
--- a/tests/test-log.t
+++ b/tests/test-log.t
@@ -747,6 +747,7 @@
   (branch merge, don't forget to commit)
   $ hg log -r .
   changeset:   3:e62f78d544b4
+  mergeref:    local
   parent:      1:3d5bf5654eda
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
diff --git a/tests/test-merge7.t b/tests/test-merge7.t
--- a/tests/test-merge7.t
+++ b/tests/test-merge7.t
@@ -117,12 +117,14 @@
   $ hg log
   changeset:   4:40d11a4173a8
   tag:         tip
+  mergeref:    other
   parent:      2:96b70246a118
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     two -> two-point-one
   
   changeset:   3:50c3a7e29886
+  mergeref:    local
   parent:      1:d1e159716d41
   parent:      2:96b70246a118
   user:        test
diff --git a/tests/test-newbranch.t b/tests/test-newbranch.t
--- a/tests/test-newbranch.t
+++ b/tests/test-newbranch.t
@@ -133,6 +133,7 @@
   changeset:   4:adf1a74a7f7b
   branch:      foo
   tag:         tip
+  mergeref:    local
   parent:      1:6c0e42da283a
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
@@ -144,6 +145,7 @@
   changeset:   4:adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6
   branch:      foo
   tag:         tip
+  mergeref:    local
   phase:       draft
   parent:      1:6c0e42da283a56b5edc5b4fadb491365ec7f5fa8
   parent:      -1:0000000000000000000000000000000000000000
diff --git a/tests/test-parents.t b/tests/test-parents.t
--- a/tests/test-parents.t
+++ b/tests/test-parents.t
@@ -106,12 +106,14 @@
   (branch merge, don't forget to commit)
   $ hg parents c
   changeset:   3:02d851b7e549
+  mergeref:    local
   user:        test
   date:        Thu Jan 01 00:00:03 1970 +0000
   summary:     c
   
   changeset:   4:48cee28d4b4e
   tag:         tip
+  mergeref:    other
   parent:      1:d786049f033a
   user:        test
   date:        Thu Jan 01 00:00:04 1970 +0000
@@ -128,12 +130,14 @@
   (branch merge, don't forget to commit)
   $ hg parents
   changeset:   2:6cfac479f009
+  mergeref:    local
   user:        test
   date:        Thu Jan 01 00:00:02 1970 +0000
   summary:     b
   
   changeset:   4:48cee28d4b4e
   tag:         tip
+  mergeref:    other
   parent:      1:d786049f033a
   user:        test
   date:        Thu Jan 01 00:00:04 1970 +0000
@@ -145,6 +149,7 @@
   $ hg parents c
   changeset:   4:48cee28d4b4e
   tag:         tip
+  mergeref:    other
   parent:      1:d786049f033a
   user:        test
   date:        Thu Jan 01 00:00:04 1970 +0000
diff --git a/tests/test-rebase-parameters.t b/tests/test-rebase-parameters.t
--- a/tests/test-rebase-parameters.t
+++ b/tests/test-rebase-parameters.t
@@ -470,9 +470,9 @@
   [1]
 
   $ hg summary
-  parent: 1:56daeba07f4b 
+  parent: 1:56daeba07f4b :local 
    c2
-  parent: 2:e4e3f3546619 tip
+  parent: 2:e4e3f3546619 :other tip
    c2b
   branch: default
   commit: 1 modified, 1 unresolved (merge)
diff --git a/tests/test-resolve.t b/tests/test-resolve.t
--- a/tests/test-resolve.t
+++ b/tests/test-resolve.t
@@ -333,9 +333,9 @@
   [255]
   $ hg summary
   warning: merge state has unsupported record types: X
-  parent: 2:57653b9f834a 
+  parent: 2:57653b9f834a :local 
    append baz to files
-  parent: 1:dc77451844e3 
+  parent: 1:dc77451844e3 :other 
    append bar to files
   branch: default
   commit: 2 modified, 2 unknown (merge)
diff --git a/tests/test-revert.t b/tests/test-revert.t
--- a/tests/test-revert.t
+++ b/tests/test-revert.t
@@ -403,9 +403,9 @@
   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
   $ hg summary
-  parent: 2:b8ec310b2d4e tip
+  parent: 2:b8ec310b2d4e :local tip
    other adds
-  parent: 1:f6180deb8fbe 
+  parent: 1:f6180deb8fbe :other 
    rename
   branch: default
   commit: 2 modified, 1 removed (merge)
diff --git a/tests/test-strip.t b/tests/test-strip.t
--- a/tests/test-strip.t
+++ b/tests/test-strip.t
@@ -260,12 +260,14 @@
 
   $ hg parents
   changeset:   2:65bd5f99a4a3
+  mergeref:    local
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     d
   
   changeset:   4:264128213d29
   tag:         tip
+  mergeref:    other
   parent:      1:ef3a871183d7
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000


More information about the Mercurial-devel mailing list