Skip to content
Snippets Groups Projects
Gregory Szorc's avatar
Gregory Szorc authored
The current implementation of linknode serving in wireprotov2 simply
serves up the linkrev/linknode as stored: it doesn't attempt to
adjust the linknode to what the receiver is aware of. This can result
in the client seeing a linknode referencing a changeset that is unknown
to it.

This commit adds test coverage of that scenario.

The tests in test-wireproto-command-filesdata.t demonstrate two failures.
First, the linknode refers to a changeset not in the available set.
Second, the server doesn't send a file revision that it should have
(because of linkrev filtering).

The test in test-wireproto-exchange.t demonstrates that the lack of
a file revision results in a corrupted repository on the client.

Differential Revision: https://phab.mercurial-scm.org/D5404
ca6372b7
History
Name Last commit Last update