[PATCH 6 of 9] convert/gnuarch: use fully qualified revisions

Edouard Gomez ed.gomez at free.fr
Sat Jan 3 19:37:15 CST 2009


# HG changeset patch
# User Edouard Gomez <ed.gomez at free.fr>
# Date 1231033008 -3600
# Node ID 7c5e74bf8359846591ab812f78cef0229ebe64a3
# Parent  fb24c8b6f67d8e2c4a7597319ce045f26a22f62b
convert/gnuarch: use fully qualified revisions

There is no need loosing information in the conversion process. This could
lead to wrong shamap mappings if different archives used the same 'version'
naming.

diff --git a/hgext/convert/gnuarch.py b/hgext/convert/gnuarch.py
--- a/hgext/convert/gnuarch.py
+++ b/hgext/convert/gnuarch.py
@@ -66,7 +66,7 @@
 
         # Generate parents dictionary
         child = []
-        output, status = self.runlines('revisions', self.treeversion)
+        output, status = self.runlines('revisions', '-f', self.treeversion)
         self.checkexit(status, 'archive registered?')
         for l in output:
             rev = l.strip()
@@ -156,14 +156,13 @@
         return os.system(cmdline)
 
     def _update(self, rev):
-        if rev == 'base-0':
+        if rev[-6:] == 'base-0':
             # Initialise 'base-0' revision
             self._obtainrevision(rev)
         else:
             self.ui.debug(_('applying revision %s...\n') % rev)
-            revision = '%s--%s' % (self.treeversion, rev)
             changeset, status = self.runlines('replay', '-d', self.tmppath,
-                                              revision)
+                                              rev)
             if status:
                 # Something went wrong while merging (baz or tla
                 # issue?), get latest revision and try from there
@@ -221,8 +220,7 @@
 
     def _obtainrevision(self, rev):
         self.ui.debug(_('obtaining revision %s...\n') % rev)
-        revision = '%s--%s' % (self.treeversion, rev)
-        output = self._execute('get', revision, self.tmppath)
+        output = self._execute('get', rev, self.tmppath)
         self.checkexit(output)
         self.ui.debug(_('analysing revision %s...\n') % rev)
         files = self._readcontents(self.tmppath)


More information about the Mercurial-devel mailing list