HomePhabricator

sparse-revlog: fix delta validity computation

Authored by lothiraldan.

Description

sparse-revlog: fix delta validity computation

When considering the validity of a delta with sparse-revlog, we check the size
of the largest read. To do so, we use some regular logic with the extra delta
information. Some of this logic was not handling this extra delta properly,
confusing it with "nullrev". This confusion with nullrev lead to wrong results
for this computation but preventing a crash.

Changeset 781b2720d2ac on default revealed this error, crashing. This
changeset fixes the logic on stable so that the computation is correct (and
the crash is averted).

The fix is made on stable as this will impact 4.7 clients interacting with
sparse-revlog repositories (eg: created by later version).

Details

Committed
lothiraldanAug 15 2018, 8:43 AM
Parents
rHG7e023ce26c7f: convert: don't drop missing or corrupt tag entries
Branches
Unknown
Tags
Unknown