changeset 3216:13cb0810ce22

split: add support for storing a note in obsmarker
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 17 Nov 2017 03:06:06 +0530
parents 175b524b9a2b
children b6ba296532cb
files hgext3rd/evolve/cmdrewrite.py tests/test-evolve-obshistory.t
diffstat 2 files changed, 16 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hgext3rd/evolve/cmdrewrite.py	Sun Nov 12 01:54:13 2017 +0530
+++ b/hgext3rd/evolve/cmdrewrite.py	Fri Nov 17 03:06:06 2017 +0530
@@ -925,6 +925,7 @@
 @eh.command(
     '^split',
     [('r', 'rev', [], _("revision to split")),
+     ('n', 'note', '', _("store a note on split")),
     ] + commitopts + commitopts2 + commitopts3,
     _('hg split [OPTION]... [-r] REV'))
 def cmdsplit(ui, repo, *revs, **opts):
@@ -935,6 +936,7 @@
 
     Use --rev to split a given changeset instead.
     """
+    _checknotesize(opts)
     _resolveoptions(ui, opts)
     tr = wlock = lock = None
     newcommits = []
@@ -996,7 +998,11 @@
             bmupdate(tip.node())
             if bookactive is not None:
                 bookmarksmod.activate(repo, bookactive)
-            obsolete.createmarkers(repo, [(repo[rev], newcommits)])
+            metadata = {}
+            if opts.get('note'):
+                metadata['note'] = opts['note']
+            obsolete.createmarkers(repo, [(repo[rev], newcommits)],
+                                   metadata=metadata)
         tr.close()
     finally:
         lockmod.release(tr, lock, wlock)
--- a/tests/test-evolve-obshistory.t	Sun Nov 12 01:54:13 2017 +0530
+++ b/tests/test-evolve-obshistory.t	Fri Nov 17 03:06:06 2017 +0530
@@ -308,7 +308,7 @@
      date:        Thu Jan 01 00:00:00 1970 +0000
      summary:     ROOT
   
-  $ hg split -r 'desc(A0)' -d "0 0" << EOF
+  $ hg split -r 'desc(A0)' -n "testing split" -d "0 0" << EOF
   > y
   > y
   > n
@@ -374,6 +374,7 @@
   $ hg obslog 471597cad322 --hidden --patch
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
   $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
@@ -389,6 +390,7 @@
                       "parent",
                       "content"
                   ],
+                  "note": "testing split",
                   "succnodes": [
                       "337fec4d2edc",
                       "f257fde29c7a"
@@ -409,6 +411,7 @@
   |
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
 With the all option, it should show the three changesets
@@ -419,6 +422,7 @@
   |/
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
 Check that debugobshistory on the second successor after split show
@@ -428,6 +432,7 @@
   |
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
 With the all option, it should show the three changesets
@@ -438,6 +443,7 @@
   |/
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
 Obslog with all option all should also works on the splitted commit
@@ -448,6 +454,7 @@
   |/
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
 Check that debugobshistory on both successors after split show
@@ -459,6 +466,7 @@
   |/
   x  471597cad322 (1) A0
        rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
+         note: 'testing split'
          (No patch available, too many successors (2))
   
   $ hg update 471597cad322