comparison hgext/convert/convcmd.py @ 5934:e495f3f35b2d

convert: hg.clonebranches must pull missing parents (issue941)
author Patrick Mezard <pmezard@gmail.com>
date Sat, 26 Jan 2008 19:55:04 +0100
parents badbefa55972
children 0162c6cc045e 37cc79a5727a
comparison
equal deleted inserted replaced
5920:5df7cb799baf 5934:e495f3f35b2d
220 else: 220 else:
221 dest = self.map[changes] 221 dest = self.map[changes]
222 self.mapentry(rev, dest) 222 self.mapentry(rev, dest)
223 return 223 return
224 files, copies = changes 224 files, copies = changes
225 parents = [self.map[r] for r in commit.parents] 225 pbranches = []
226 if commit.parents: 226 if commit.parents:
227 prev = commit.parents[0] 227 for prev in commit.parents:
228 if prev not in self.commitcache: 228 if prev not in self.commitcache:
229 self.cachecommit(prev) 229 self.cachecommit(prev)
230 pbranch = self.commitcache[prev].branch 230 pbranches.append((self.map[prev],
231 else: 231 self.commitcache[prev].branch))
232 pbranch = None 232 self.dest.setbranch(commit.branch, pbranches)
233 self.dest.setbranch(commit.branch, pbranch, parents)
234 for f, v in files: 233 for f, v in files:
235 filenames.append(f) 234 filenames.append(f)
236 try: 235 try:
237 data = self.source.getfile(f, v) 236 data = self.source.getfile(f, v)
238 except IOError, inst: 237 except IOError, inst:
244 if f in copies: 243 if f in copies:
245 copyf = copies[f] 244 copyf = copies[f]
246 # Merely marks that a copy happened. 245 # Merely marks that a copy happened.
247 self.dest.copyfile(copyf, f) 246 self.dest.copyfile(copyf, f)
248 247
248 parents = [b[0] for b in pbranches]
249 newnode = self.dest.putcommit(filenames, parents, commit) 249 newnode = self.dest.putcommit(filenames, parents, commit)
250 self.mapentry(rev, newnode) 250 self.mapentry(rev, newnode)
251 251
252 def convert(self): 252 def convert(self):
253 try: 253 try: