comparison mercurial/context.py @ 3436:357b5589dc62

Merge with crew
author Matt Mackall <mpm@selenic.com>
date Tue, 17 Oct 2006 18:54:37 -0500
parents cc9c31b07c2c 1a437b0f4902
children 23ede9e7ad4d
comparison
equal deleted inserted replaced
3435:2576b6731524 3436:357b5589dc62
254 if r: 254 if r:
255 pl[0] = (r[0], getlog(r[0]).rev(r[1])) 255 pl[0] = (r[0], getlog(r[0]).rev(r[1]))
256 256
257 return [ getctx(p, n) for p, n in pl if n != -1 ] 257 return [ getctx(p, n) for p, n in pl if n != -1 ]
258 258
259 # use linkrev to find the first changeset where self appeared
260 if self.rev() != self._filelog.linkrev(self._filenode):
261 base = self.filectx(self.filerev())
262 else:
263 base = self
264
259 # find all ancestors 265 # find all ancestors
260 needed = {self: 1} 266 needed = {base: 1}
261 visit = [self] 267 visit = [base]
262 files = [self._path] 268 files = [base._path]
263 while visit: 269 while visit:
264 f = visit.pop(0) 270 f = visit.pop(0)
265 for p in parents(f): 271 for p in parents(f):
266 if p not in needed: 272 if p not in needed:
267 needed[p] = 1 273 needed[p] = 1