Testing an RC of evolve 11.0.0 and topic 1.0.0
Anton Shestakov
av6 at dwimlabs.net
Tue Feb 14 14:13:39 UTC 2023
14.02.2023 17:20, Georges Racinet пишет:
> Internally, Heptapod relies on the `branch:topic` syntax, more
> specifically as keys in the branchmap. Well, it relies on lots of
> Mercurial and evolve internals (I dare not say APIs).
In 11.0.0rc0+ branchmap will have keys in the "branch//namespace/topic"
format. There are more places when you'll see this format instead of
branch name alone now and we intend to use it locally more widely in future.
> The good news here is that simply replacing `:` with `//` makes all the
> tests pass. Given the full coverage, I'm fairly confident that there are
> no other problems, as far as we're only talking about the compatibility
> itself with (server-side) Heptapod.
Make sure you look though examples for formatfqbn() and parsefqbn() in
topic/common.py.
> Overall it looks like an unnecessary complication to try and support
> both syntaxes in Heptapod. I'm more comfortable keeping my compatibility
> fixes around and making the switch once Evolve 11.0.0 is released.
>
> My questions:
>
> - will there be in 11.0 a way for clients to specify topic namespaces?
There is a debug-topic-namespace command that will let you do it.
> - what will happen when topic namespaces are fully implemented and users
> with, say hg-evolve 12.0, push to a server with hg-evolve 10.5? Can I
> simulate that from a Python interpreter already?
Topic namespaces are not understood by older clients, so those clients
will simply see branches+topics only. So if you had branch "b", topic
namespace "tns" and topic "t", then newer clients would see "b//tns/t",
and older clients would see "b:t". It's been deemed to be safe, because
the worst case is you're using new version and trying to push "b//foo/t"
and older server has "b//bar/t": you won't be able to push freely
because server sees them both as "b:t".
Simulating locally is not yet possible, but adding that (for testing
purposes) is on my plate for the final release.
> - will 11.0 be required to support the upcoming Mercurial 6.4?
Probably not evolve version 11.0.0 specifically, since it's planned to
be released before hg 6.4, but we will release a bugfix/maintenance
release with support for new versions of Mercurial. So most likely,
11.0.1 will support hg 6.4. Although if we see hg 6.4rc0 soon, then we
can support that version in 11.0.0.
More information about the Mercurial-devel
mailing list