Mercurial > public > mercurial-scm > hg-stable
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