diff mercurial/context.py @ 23865:81349f4b47f4

linkrev: use the right manifest content when adjusting linrev (issue4499) When the manifest revision is stored as a delta against a non-parent revision, '_adjustlinkrev' could miss some file update because it was using the delta only. We now use the 'fastread' method that uses the delta only when it makes sense. A test showcasing on the of possible issue have been added.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 14 Jan 2015 17:21:09 -0800
parents a4951adebfb0
children 087603b50889
line wrap: on
line diff
--- a/mercurial/context.py	Wed Jan 14 16:57:00 2015 -0800
+++ b/mercurial/context.py	Wed Jan 14 17:21:09 2015 -0800
@@ -49,7 +49,7 @@
             if path in ac[3]: # checking the 'files' field.
                 # The file has been touched, check if the content is similar
                 # to the one we search for.
-                if fnode == ma.readdelta(ac[0]).get(path):
+                if fnode == ma.readfast(ac[0]).get(path):
                     return a
         # In theory, we should never get out of that loop without a result. But
         # if manifest uses a buggy file revision (not children of the one it