# HG changeset patch # User Durham Goode # Date 2015-07-08 17:31:09 # Node ID c9093d4d1ff6a8934c8bea4144eabb5ba3970750 # Parent f2748cc43b2a774ea6f7ae9ee38298a7d9ebd47d 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. diff --git a/hgext/convert/__init__.py b/hgext/convert/__init__.py --- a/hgext/convert/__init__.py +++ b/hgext/convert/__init__.py @@ -356,6 +356,9 @@ def convert(ui, src, dest=None, revmapfi :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 ################ diff --git a/hgext/convert/hg.py b/hgext/convert/hg.py --- a/hgext/convert/hg.py +++ b/hgext/convert/hg.py @@ -225,6 +225,10 @@ class mercurial_sink(converter_sink): 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) diff --git a/tests/test-convert.t b/tests/test-convert.t --- a/tests/test-convert.t +++ b/tests/test-convert.t @@ -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 @@ test revset converted() lookup 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