Patch: Add known read-only commands used by hg-evolve
Manuel Jacob
me at manueljacob.de
Mon Mar 24 10:24:39 UTC 2025
Hi,
On 18/02/2025 18.26, Mads Kiilerich wrote:
> I am not using evolve. To avoid landing it just based on blind trust,
> can you say more about how it has been tested and how others can test it?
>
> What commands / operations will exercise these 3 wire commands (and fail
> without the patch)? That will provide some confidence in correctness and
> completeness.
In a test, I found the following:
Without the patch, `hg pull` (from a test repository on Kallithea
containing obsmarkers and topics; I didn’t test without these) requires
authentication, that is not normally required, in these cases:
- with the evolve extension enabled on both server and client because
the client sends the evoext_obshashrange_v1 command
- with the topic extension enabled on both server and client (hg-evolve
== 11.1.6) because the client sends the tns_heads command
- with the topic extension enabled on both server and client (hg-evolve
== 11.0.2) because the client sends the _exttopics_heads command
With the patch, `hg pull` doesn’t require authentication in these cases.
> Since these 3 wire commands are read only, I assume that all topic
> related writes come as meta data when pushing commits?
The topic name is part of the changeset. I do not know if further topic
metadata is transferred when pushing them.
The evoext_obshashrange_v1 is used for obsmarker discovery, not
obsmarker exchange.
> This context might be too much to include in the commit message and too
> tricky to set up in an automated test, but a discussion here on mail
> would give confidence.
>
> /Mads
More information about the kallithea-general
mailing list