mercurial/hg.py
changeset 10 e76ed1e480ef
parent 9 b4d0c3786ad3
child 15 6daf7757e92b
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