convert: add config for recording the source name
authorDurham Goode <durham@fb.com>
Wed, 08 Jul 2015 10:31:09 -0700
changeset 25750 c9093d4d1ff6
parent 25749 f2748cc43b2a
child 25751 17a9da909186
convert: add config for recording the source name This creates the convert.hg.sourcename config option which will embed a user defined name into each commit created by the convert. This is useful when using the convert extension to merge several repositories together and we want to record where each commit came from.
hgext/convert/__init__.py
hgext/convert/hg.py
tests/test-convert.t
--- a/hgext/convert/__init__.py	Wed Jul 08 10:29:11 2015 -0700
+++ b/hgext/convert/__init__.py	Wed Jul 08 10:31:09 2015 -0700
@@ -356,6 +356,9 @@
     :convert.hg.usebranchnames: preserve branch names. The default is
         True.
 
+    :convert.hg.sourcename: records the given string as a 'convert_source' extra
+        value on each commit made in the target repository. The default is None.
+
     All Destinations
     ################
 
--- a/hgext/convert/hg.py	Wed Jul 08 10:29:11 2015 -0700
+++ b/hgext/convert/hg.py	Wed Jul 08 10:31:09 2015 -0700
@@ -225,6 +225,10 @@
 
         extra = commit.extra.copy()
 
+        sourcename = self.repo.ui.config('convert', 'hg.sourcename')
+        if sourcename:
+            extra['convert_source'] = sourcename
+
         for label in ('source', 'transplant_source', 'rebase_source',
                       'intermediate-source'):
             node = extra.get(label)
--- a/tests/test-convert.t	Wed Jul 08 10:29:11 2015 -0700
+++ b/tests/test-convert.t	Wed Jul 08 10:31:09 2015 -0700
@@ -294,6 +294,10 @@
                     branch name for tag revisions, defaults to "default".
       convert.hg.usebranchnames
                     preserve branch names. The default is True.
+      convert.hg.sourcename
+                    records the given string as a 'convert_source' extra value
+                    on each commit made in the target repository. The default is
+                    None.
   
       All Destinations
       ################
@@ -503,3 +507,17 @@
   date:        Thu Jan 01 00:00:04 1970 +0000
   summary:     e
   
+
+test specifying a sourcename
+  $ echo g > a/g
+  $ hg -R a ci -d'0 0' -Amg
+  adding g
+  $ hg --config convert.hg.sourcename=mysource --config convert.hg.saverev=True convert a c
+  scanning source...
+  sorting...
+  converting...
+  0 g
+  $ hg -R c log -r tip --template '{extras % "{extra}\n"}'
+  branch=default
+  convert_revision=a3bc6100aa8ec03e00aaf271f1f50046fb432072
+  convert_source=mysource