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

timeless timeless at mozdev.org
Tue Mar 22 23:24:00 EDT 2016


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

Adds other/local markers to parents, and log commands

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("merging", templatename="merging",
+                      # i18n: column positioning for "hg log"
+                      logfmt=_("merging:     %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-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
+  merging:     local
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     d
   
   changeset:   5:26bee9c5bcf3
   bookmark:    e
+  merging:     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
@@ -3452,12 +3452,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 merging= branches=text.{rev}
+  1 bookmarks=baz tags= merging= branches=text.{rev}
+  0 bookmarks= tags= merging= branches=default
   $ hg log -r2 -T '{namespaces % "{namespace}: {names}\n"}'
   bookmarks: bar foo
   tags: tip
+  merging: 
   branches: text.{rev}
   $ hg log -r2 -T '{namespaces % "{namespace}:\n{names % " {name}\n"}"}'
   bookmarks:
@@ -3465,6 +3466,7 @@
    foo
   tags:
    tip
+  merging:
   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
@@ -345,6 +345,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
+  merging:     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
+  merging:     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
+  merging:     other
   parent:      -1:000000000000
   user:        test
   date:        Thu Jan 01 00:00:01 1970 +0000
@@ -192,6 +195,7 @@
   
   
   changeset:   0:8580ff50825a
+  merging:     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
+  merging:     other
   phase:       public
   parent:      -1:0000000000000000000000000000000000000000
   parent:      -1:0000000000000000000000000000000000000000
@@ -248,6 +253,7 @@
   
   
   changeset:   0:8580ff50825a50c8f716709acdf8de0deddcd6ab
+  merging:     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
+  merging:     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
+  merging:     other
   parent:      2:96b70246a118
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     two -> two-point-one
   
   changeset:   3:50c3a7e29886
+  merging:     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
+  merging:     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
+  merging:     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
+  merging:     local
   user:        test
   date:        Thu Jan 01 00:00:03 1970 +0000
   summary:     c
   
   changeset:   4:48cee28d4b4e
   tag:         tip
+  merging:     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
+  merging:     local
   user:        test
   date:        Thu Jan 01 00:00:02 1970 +0000
   summary:     b
   
   changeset:   4:48cee28d4b4e
   tag:         tip
+  merging:     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
+  merging:     other
   parent:      1:d786049f033a
   user:        test
   date:        Thu Jan 01 00:00:04 1970 +0000
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
+  merging:     local
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     d
   
   changeset:   4:264128213d29
   tag:         tip
+  merging:     other
   parent:      1:ef3a871183d7
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000


More information about the Mercurial-devel mailing list