diff hg_delta_editor.py @ 131:4d42dbbb5127

hg_delta_editor: fix parent revision detection on branch copy Project items copyfrom revisions are irrelevant to parent revision detection, only the project one or those of its ancestors matter. Items copyfrom is useful when retrieving items content. Former code resulted in incorrect converted graph for pyglet repository, especially on the following revision: ------------------------------------------------------------------------ r274 | r1chardj0n3s | 2006-12-21 02:02:14 +0100 (Jeu, 21 Dec 2006) | 2 lines Changed paths: A /branches/richard-glx-version (from /trunk:269) M /branches/richard-glx-version/pyglet/window/xlib/__init__.py R /branches/richard-glx-version/tests/test.py (from /trunk/tests/test.py:270) R /branches/richard-glx-version/tools/info.py (from /trunk/tools/info.py:272) R /branches/richard-glx-version/website/get_involved.php (from /trunk/website/get_involved.php:273) Branching to horribly mangle GLX
author Patrick Mezard <pmezard@gmail.com>
date Wed, 10 Dec 2008 11:03:22 -0600
parents 291925677a9f
children 2242dd1163c6
line wrap: on
line diff
--- a/hg_delta_editor.py
+++ b/hg_delta_editor.py
@@ -267,7 +267,7 @@ class HgChangeReceiver(delta.Editor):
         added_tags = {}
         tags_to_delete = set()
         branches_to_delete = set()
-        for p in paths:
+        for p in sorted(paths):
             fi, br = self._path_and_branch_for_path(p)
             if fi is not None:
                 if fi == '' and br not in self.branches:
@@ -295,10 +295,6 @@ class HgChangeReceiver(delta.Editor):
                     br2 = br or 'default'
                     if br2 not in self.repo.branchtags() and paths[p].action == 'D':
                         branches_to_delete.add(br)
-                elif br in added_branches:
-                    if paths[p].copyfrom_rev > added_branches[br][1]:
-                        x,y,z = added_branches[br]
-                        added_branches[br] = x, paths[p].copyfrom_rev, z
             else:
                 t_name = self._is_path_tag(p)
                 if t_name == False: