# HG changeset patch # User mpm@selenic.com # Date 1118911170 28800 # Node ID 024ee0f8722ac970186170c74d2e884141c17a8e # Parent c72ccad3e3b87ad8853b99f2af2eefab14acb9f3 Ancestor algorithm fix -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Ancestor algorithm fix The ancestor algorithm was a bit too optimistic about node ordering still. Add revision numbers to the comparison to sort things out. manifest hash: f4eaf95057b5623e864359706dcaee820b10fd20 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCsTrCywK+sNU5EO8RAtqMAJ9fEJEesPn+0SMg/i/g5vZYmX/pBgCfVnhl +s88q/Wilw27MVWP6J6oqX8= =k9AU -----END PGP SIGNATURE----- diff -r c72ccad3e3b8 -r 024ee0f8722a mercurial/revlog.py --- a/mercurial/revlog.py Wed Jun 15 21:23:07 2005 -0800 +++ b/mercurial/revlog.py Thu Jun 16 00:39:30 2005 -0800 @@ -325,10 +325,10 @@ earliest = self.count() while h: d, n = heapq.heappop(h) - r = self.rev(n) if n not in seen: seen[n] = 1 - yield (-d, n) + r = self.rev(n) + yield (-d, r, n) for p in self.parents(n): heapq.heappush(h, (-dist[p], p)) @@ -341,7 +341,7 @@ # the other, or they match while 1: if lx == ly: - return lx[1] + return lx[2] elif lx < ly: ly = y.next() elif lx > ly: