( )⚙ D1439 pushrebase: fix manifest cache

This is an archive of the discontinued Mercurial Phabricator instance.

pushrebase: fix manifest cache
ClosedPublic

Authored by durham on Nov 16 2017, 6:28 PM.
Tags
None
Subscribers
None

Details

Reviewers
quark
Group Reviewers
Restricted Project
Commits
rFBHGXecc15d40b338: pushrebase: fix manifest cache
Summary

The manifestctx constructor changed at some point in the past to take a
manifestlog and a node instead of a repo and a node. The pushrebase cache code
wasn't adjusted for this. Luckily the manifestctx object only ever uses the
manifestlog to look at the revlog, and the revlog is only ever used to look at
the delta as a fastpath, so most code paths weren't affected.

We encountered this issue on our server, despite it being in there for several
months. Unfortunately I wasn't able to repro it in a test, but I did insert
manual manifestctx._revlog() lines after the construction to ensure that the
revlog can now be created, versus crashing before.

Diff Detail

Repository
rFBHGX Facebook Mercurial Extensions
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

durham created this revision.Nov 16 2017, 6:28 PM
Herald added a reviewer: Restricted Project. · View Herald TranscriptNov 16 2017, 6:28 PM
quark accepted this revision.Nov 20 2017, 4:54 PM
This revision is now accepted and ready to land.Nov 20 2017, 4:54 PM
This revision was automatically updated to reflect the committed changes.