# HG changeset patch # User Benoit Boissinot # Date 2008-10-18 18:25:45 # Node ID cb6395fc16a9478eddab62c051d640ee7336d1ed # Parent 42db22108d85904acbd5ac55331c9ba5b31c7f78 fix issue with strip() for revlog with non-monotonic linkrevs (issue1342) extra nodes should always be included, do the call after the pruning diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1808,8 +1808,7 @@ class localrepository(repo.repository): for fname in extranodes: if isinstance(fname, int): continue - add_extra_nodes(fname, - msng_filenode_set.setdefault(fname, {})) + msng_filenode_set.setdefault(fname, {}) changedfiles[fname] = 1 # Go through all our files in order sorted by name. for fname in util.sort(changedfiles): @@ -1820,6 +1819,7 @@ class localrepository(repo.repository): # missing. if fname in msng_filenode_set: prune_filenodes(fname, filerevlog) + add_extra_nodes(fname, msng_filenode_set[fname]) msng_filenode_lst = msng_filenode_set[fname].keys() else: msng_filenode_lst = []