# HG changeset patch # User Durham Goode # Date 1441301382 25200 # Node ID 242853e14804b7c4d6a9ef3d308cbe3782f6323a # Parent 8aa6fb6de1617b6cce2537fce27b4d0282f1017d convert: remove restriction on multiple --rev in hg source Multiple --rev args on convert is a new feature, and was initially disabled for all sources. It has since been enabled on git sources, and this patch enables it on mercurial sources. diff -r 8aa6fb6de161 -r 242853e14804 hgext/convert/hg.py --- a/hgext/convert/hg.py Fri Sep 04 02:51:57 2015 +0800 +++ b/hgext/convert/hg.py Thu Sep 03 10:29:42 2015 -0700 @@ -431,9 +431,6 @@ class mercurial_source(converter_source): def __init__(self, ui, path, revs=None): converter_source.__init__(self, ui, path, revs) - if revs and len(revs) > 1: - raise util.Abort(_("mercurial source does not support specifying " - "multiple revisions")) self.ignoreerrors = ui.configbool('convert', 'hg.ignoreerrors', False) self.ignored = set() self.saverev = ui.configbool('convert', 'hg.saverev', False) @@ -468,7 +465,7 @@ else: self.keep = util.always if revs: - self._heads = [self.repo[revs[0]].node()] + self._heads = [self.repo[r].node() for r in revs] else: self._heads = self.repo.heads() else: diff -r 8aa6fb6de161 -r 242853e14804 tests/test-convert-hg-startrev.t --- a/tests/test-convert-hg-startrev.t Fri Sep 04 02:51:57 2015 +0800 +++ b/tests/test-convert-hg-startrev.t Thu Sep 03 10:29:42 2015 -0700 @@ -201,4 +201,23 @@ | o 0 "0: add a b f" files: a b f - $ cd .. +Convert from specified revs + + $ hg convert --rev 3 --rev 2 source multiplerevs + initializing destination multiplerevs repository + scanning source... + sorting... + converting... + 3 0: add a b f + 2 1: add c, move f to d + 1 2: copy e from a, change b + 0 3: change a + $ glog multiplerevs + o 3 "3: change a" files: a + | + | o 2 "2: copy e from a, change b" files: b e + | | + | o 1 "1: add c, move f to d" files: c d f + |/ + o 0 "0: add a b f" files: a b f +