comparison mercurial/hg.py @ 10:e76ed1e480ef

Fix linking of changeset revs when merging
author oxymoron@cinder.waste.org
date Tue, 03 May 2005 23:37:43 -0800
parents b4d0c3786ad3
children 6daf7757e92b
comparison
equal deleted inserted replaced
9:b4d0c3786ad3 10:e76ed1e480ef
287 287
288 def merge(self, other): 288 def merge(self, other):
289 tr = self.transaction() 289 tr = self.transaction()
290 changed = {} 290 changed = {}
291 new = {} 291 new = {}
292 nextrev = seqrev = self.changelog.count() 292 seqrev = self.changelog.count()
293 # some magic to allow fiddling in nested scope
294 nextrev = [seqrev]
293 295
294 # helpers for back-linking file revisions to local changeset 296 # helpers for back-linking file revisions to local changeset
295 # revisions so we can immediately get to changeset from annotate 297 # revisions so we can immediately get to changeset from annotate
296 def accumulate(text): 298 def accumulate(text):
297 n = nextrev
298 # track which files are added in which changeset and the 299 # track which files are added in which changeset and the
299 # corresponding _local_ changeset revision 300 # corresponding _local_ changeset revision
300 files = self.changelog.extract(text)[3] 301 files = self.changelog.extract(text)[3]
301 for f in files: 302 for f in files:
302 changed.setdefault(f, []).append(n) 303 changed.setdefault(f, []).append(nextrev[0])
303 n += 1 304 nextrev[0] += 1
304 305
305 def seq(start): 306 def seq(start):
306 while 1: 307 while 1:
307 yield start 308 yield start
308 start += 1 309 start += 1