comparison hgext/convert/convcmd.py @ 6143:5b159ebb19cf

convert: document splicemap, allow setting of multiple parents
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 19 Feb 2008 10:53:40 -0800
parents fddeeb00f8d1
children 9d13e7129423
comparison
equal deleted inserted replaced
6142:50a277e6ceae 6143:5b159ebb19cf
82 # Extend/Override with new author map if necessary 82 # Extend/Override with new author map if necessary
83 if opts.get('authors'): 83 if opts.get('authors'):
84 self.readauthormap(opts.get('authors')) 84 self.readauthormap(opts.get('authors'))
85 self.authorfile = self.dest.authorfile() 85 self.authorfile = self.dest.authorfile()
86 86
87 self.splicemap = mapfile(ui, ui.config('convert', 'splicemap')) 87 self.splicemap = mapfile(ui, opts.get('splicemap'))
88 88
89 def walktree(self, heads): 89 def walktree(self, heads):
90 '''Return a mapping that identifies the uncommitted parents of every 90 '''Return a mapping that identifies the uncommitted parents of every
91 uncommitted changeset.''' 91 uncommitted changeset.'''
92 visit = heads 92 visit = heads
250 copyf = copies[f] 250 copyf = copies[f]
251 # Merely marks that a copy happened. 251 # Merely marks that a copy happened.
252 self.dest.copyfile(copyf, f) 252 self.dest.copyfile(copyf, f)
253 253
254 try: 254 try:
255 parents = [self.splicemap[rev]] 255 parents = self.splicemap[rev].replace(',', ' ').split()
256 self.ui.debug('spliced in %s as parents of %s\n' % 256 self.ui.status('spliced in %s as parents of %s\n' %
257 (parents, rev)) 257 (parents, rev))
258 parents = [self.map.get(p, p) for p in parents]
258 except KeyError: 259 except KeyError:
259 parents = [b[0] for b in pbranches] 260 parents = [b[0] for b in pbranches]
260 newnode = self.dest.putcommit(filenames, parents, commit) 261 newnode = self.dest.putcommit(filenames, parents, commit)
261 self.source.converted(rev, newnode) 262 self.source.converted(rev, newnode)
262 self.map[rev] = newnode 263 self.map[rev] = newnode