Mercurial > hg > mercurial-crew-with-dirclash
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 |