changeset 25750:c9093d4d1ff6

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.
author Durham Goode <durham@fb.com>
date Wed, 08 Jul 2015 10:31:09 -0700
parents f2748cc43b2a
children 17a9da909186
files hgext/convert/__init__.py hgext/convert/hg.py tests/test-convert.t
diffstat 3 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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