Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-14 Thread Anton Shestakov

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.

___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-13 Thread Georges Racinet

Hi Anton,

On 1/30/23 16:24, Anton Shestakov wrote:
We're planning to release a feature release candidate of evolve and 
topic extensions that contains an implementation of a concept that was 
in the plans for quite some time: topic namespaces (the name could 
change, if we find something better) 
https://www.mercurial-scm.org/wiki/TopicPlan#sub_branches.2C_namespacing_and_representation


I'm glad to see topic namespaces going forward, since they will be an 
important part of user experience improvements in Heptapod (drive-by 
contributons, notably). I have a few questions.




In short, topic namespaces are trying to fix one of our major UX 
flaws: branches can continue to be used for release management, and 
topics can still be used for implementing features, but now there 
would be something for organizing topics into wider concepts. Topic 
namespaces, just like topics, are designed to go away when you publish 
your commits, and we tried to make them as unobtrusive as possible, to 
not get in the way of current workflows. There is a default topic 
namespace that will not clutter the UI, and users can keep using only 
branches and topics as usual.


But we did change some things in the UI. Remember seeing 
"branch:topic" format in `hg branches`? Well, it was a temporary 
implementation detail. With the implementation of topic namespaces we 
introduce a more thought-out way to represent branches plus topics. In 
this new format, topic namespaces become sort of a glue for all things 
related to (named) branching, e.g. this is what you'd see in hg log:


  branch//namespace/topic

or, if you don't set topic namespace:

  branch//topic


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).


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.


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? 
I'd like to test what will happen if some client sends namespaced topics 
to the server before it is fully ready to interpret them (i.e. map them 
to the permissions model).


- 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?


- will 11.0 be required to support the upcoming Mercurial 6.4?

Best,

--
Georges Racinet
https://octobus.net, https://about.heptapod.host, https://heptapod.net
GPG: BF5456F4DC625443849B6E58EE20CA44EF691D39, sur serveurs publics

___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-08 Thread Anton Shestakov

30.01.2023 19:24, Anton Shestakov пишет:
The release candidate is coming out in the next few days, and the final 
feature release will most likely be ready in about 2 weeks after that. 
During these 2 weeks you can reach out to us and tell if you notice 
something being broken, and we'll obviously try and fix it before the 
final release.


And after numerous compatibility fixes and tweaks (and some delays) 
11.0.0rc0 is finally out!


If you want to test it, you might need to specify the new version 
explicitly to install it, e.g. `pip install hg-evolve==11.0.0rc0`.


If you spot any issues with it, feel free to contact the developers in 
your preferred way (e.g. via bugzilla, #mercurial or #hg-evolve on 
libera.chat or replying to this email on list or to me directly).

___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-06 Thread Uwe Brauer
>>> "AS" == Anton Shestakov  writes:

> 04.02.2023 22:56, Uwe Brauer пишет:
>> Maybe we have a misunderstanding here.
>> I don't mean the result
>> hg branches
>> I meant that sometimes
>> hg log (with my template, I am not going to post here would give
>> me)
>> ◍  changeset: 674:5c76f339a2eb
>> │  tag:   tip
>> │  Branch:year-2022-23//git-manual
>> │  Author:Uwe Brauer 
>> │  Date:  Sat, 04 Feb 2023 18:45:29 +0100
>> │  Topic: git-manual
>> │  Phase: draft
>> │  Summary:   Old text out, tutorias programadas
>> │

> Well, this is most likely not done by evolve/topic extensions. As I
> said, no released version of evolve or topic uses '//' as a separator
> in the UI yet. What's more, even the default branch (not released)
> doesn't override `hg log` entries to be in this format. What versions
> of evolve and topic are you using, after all?

 evolve   external  10.1.0
 topicexternal  0.20.0



> There's one case where topic extension (briefly and internally) uses
> '//' to separate branch and topic, and it's used for
> experimental.topic.linear-merge implementation. If it's visible in the
> UI during normal operations, this could be a bug that needs to be
> fixed.


Ha, this is it. Basically I nagged so long on the list till Pierre-Yves said it 
will be implemented. I have activated it and use it from time to time.

> However, from what I know now, this really seem to be your custom log
> template that's doing it.

>> And that I found very annoying.

> Why?

Because it seemed to pop up for no reason, but you said, most likely I bug. I 
should upgrade evolve and topics I presume.


-- 
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/


smime.p7s
Description: S/MIME cryptographic signature
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-06 Thread Anton Shestakov

04.02.2023 22:56, Uwe Brauer пишет:

Maybe we have a misunderstanding here.

I don't mean the result

  hg branches

I meant that sometimes

  hg log (with my template, I am not going to post here would give me)

◍  changeset: 674:5c76f339a2eb
│  tag:   tip
│  Branch:year-2022-23//git-manual
│  Author:Uwe Brauer 
│  Date:  Sat, 04 Feb 2023 18:45:29 +0100
│  Topic: git-manual
│  Phase: draft
│  Summary:   Old text out, tutorias programadas
│


Well, this is most likely not done by evolve/topic extensions. As I 
said, no released version of evolve or topic uses '//' as a separator in 
the UI yet. What's more, even the default branch (not released) doesn't 
override `hg log` entries to be in this format. What versions of evolve 
and topic are you using, after all?


There's one case where topic extension (briefly and internally) uses 
'//' to separate branch and topic, and it's used for 
experimental.topic.linear-merge implementation. If it's visible in the 
UI during normal operations, this could be a bug that needs to be fixed.


However, from what I know now, this really seem to be your custom log 
template that's doing it.



And that I found very annoying.


Why?
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-04 Thread Uwe Brauer
>>> "AS" == Anton Shestakov  writes:

> 04.02.2023 14:56, Uwe Brauer пишет:
>> 
>>> 03.02.2023 00:34, Uwe Brauer пишет:
>> 
>>> By "this" do you mean "branch:topic" or "branch//topic"?
>> I meant "branch//topic"
>> So can I switch the new namespace feature of, if I don't like it?

> That depends on what you think "the new namespace feature" is. If you
> don't want to use topic namespaces, then you don't have to. There's a
> default namespace that will not be shown (similar to default branch or
> empty topic).

> On the other hand, if you want to forever use "branch:topic" format
> that was never intended to be usable (e.g. hg up "branch:topic"
> doesn't necessarily do what you expect), then you can use old versions
> of evolve and topic.

Maybe we have a misunderstanding here. 

I don't mean the result 

 hg branches  

I meant that sometimes 

 hg log (with my template, I am not going to post here would give me)

◍  changeset: 674:5c76f339a2eb
│  tag:   tip
│  Branch:year-2022-23//git-manual
│  Author:Uwe Brauer 
│  Date:  Sat, 04 Feb 2023 18:45:29 +0100
│  Topic: git-manual
│  Phase: draft
│  Summary:   Old text out, tutorias programadas
│


And that I found very annoying.



While hg branches 
results in 

year-2022-23:git-manual  674:5c76f339a2eb



smime.p7s
Description: S/MIME cryptographic signature
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-04 Thread Anton Shestakov

04.02.2023 14:56, Uwe Brauer пишет:



03.02.2023 00:34, Uwe Brauer пишет:



By "this" do you mean "branch:topic" or "branch//topic"?


I meant "branch//topic"

So can I switch the new namespace feature of, if I don't like it?


That depends on what you think "the new namespace feature" is. If you 
don't want to use topic namespaces, then you don't have to. There's a 
default namespace that will not be shown (similar to default branch or 
empty topic).


On the other hand, if you want to forever use "branch:topic" format that 
was never intended to be usable (e.g. hg up "branch:topic" doesn't 
necessarily do what you expect), then you can use old versions of evolve 
and topic.



What version of evolve do you have?


I think it is 10.1. It has been quite some time I installed it, and I
don't recall whether I did it by pip or compiled it myself.

Eye balling the help, I can find a command to determine evolve's version


It's `hg version -v` and no, 10.1.0 definitely didn't have any topic 
namespaces. The new "branch//namespace/topic" format at the moment is 
only used in current default branch of evolve, which is not yet 
released, but will be a part of the upcoming release candidate (i.e. rc 
of 11.0.0). Also 10.1.0 is nowhere near "the current evolve version", 
it's from 2+ years ago, topic namespaces were still only in the plans.


But the old "branch:topic" format was used in certain places like `hg 
branches`, where it shouldn't be. This will likely change in the future, 
since the UI part of topic namespaces feature is still being worked on.

___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-04 Thread Uwe Brauer

> 03.02.2023 00:34, Uwe Brauer пишет:

> By "this" do you mean "branch:topic" or "branch//topic"?

I meant "branch//topic"

So can I switch the new namespace feature of, if I don't like it?

> What version of evolve do you have?

I think it is 10.1. It has been quite some time I installed it, and I
don't recall whether I did it by pip or compiled it myself.

Eye balling the help, I can find a command to determine evolve's version

> At the moment we're planning to still support Mercurial 4.8.
Good.

> It would, but you should upgrade.

I wish I could, but artemis (and issue tracker only runs up to my
current hg version, the package is orphaned. Dan Villiom Podlaski
Christiansen tried to port artemis to python 3.X but it turns out some
functionality does not work, especially the numbering of the issues does
not work





-- 
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/


smime.p7s
Description: S/MIME cryptographic signature
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-02-04 Thread Anton Shestakov

03.02.2023 00:34, Uwe Brauer пишет:

Hello, users of Mercurial, Evolve and/or Topic!
We're planning to release a feature release candidate of evolve and
topic extensions that contains an implementation of a concept that was
in the plans for quite some time: topic namespaces (the name could
change, if we find something better)

But we did change some things in the UI. Remember seeing
"branch:topic" format in `hg branches`? Well, it was a temporary
implementation detail. With the implementation of topic namespaces we
introduce a more thought-out way to represent branches plus topics. In
this new format, topic namespaces become sort of a glue for all things
related to (named) branching, e.g. this is what you'd see in hg log:



   branch//namespace/topic



or, if you don't set topic namespace:



   branch//topic


I use topics quite extensively, but my collaborators not.
Strangely enough I see this structure sometimes in the current evolve version 
(and it annoys me quite a bit). Will this behavior be configurable (ie. Switch 
it off)?


By "this" do you mean "branch:topic" or "branch//topic"?

What version of evolve do you have?


BTW what are the minimum requirements for this evolve version you describe.


At the moment we're planning to still support Mercurial 4.8.


Would be hg 5.2 ok (either compiled with python 3.5 or 2.7)?


It would, but you should upgrade.
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-01-31 Thread Uwe Brauer
>>> "AS" == Anton Shestakov  writes:

Hi Anton,

> Hello, users of Mercurial, Evolve and/or Topic!
> We're planning to release a feature release candidate of evolve and
> topic extensions that contains an implementation of a concept that was
> in the plans for quite some time: topic namespaces (the name could
> change, if we find something better)
> https://www.mercurial-scm.org/wiki/TopicPlan#sub_branches.2C_namespacing_and_representation

> In short, topic namespaces are trying to fix one of our major UX
> flaws: branches can continue to be used for release management, and
> topics can still be used for implementing features, but now there
> would be something for organizing topics into wider concepts. Topic
> namespaces, just like topics, are designed to go away when you publish
> your commits, and we tried to make them as unobtrusive as possible, to
> not get in the way of current workflows. There is a default topic
> namespace that will not clutter the UI, and users can keep using only
> branches and topics as usual.

> But we did change some things in the UI. Remember seeing
> "branch:topic" format in `hg branches`? Well, it was a temporary
> implementation detail. With the implementation of topic namespaces we
> introduce a more thought-out way to represent branches plus topics. In
> this new format, topic namespaces become sort of a glue for all things
> related to (named) branching, e.g. this is what you'd see in hg log:

>   branch//namespace/topic

> or, if you don't set topic namespace:

>   branch//topic

Strangely enough I see this sometimes in the current evolve version (and it 
annoys me quite a bit). Will this behavior be configurable (ie. Switch it off)?

BTW what are the minimum requirements for this evolve version you describe.

Would be hg 5.2 ok (either compiled with python 3.5 or 2.7)?

Regards

Uwe Brauer 


smime.p7s
Description: S/MIME cryptographic signature
___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel


Testing an RC of evolve 11.0.0 and topic 1.0.0

2023-01-30 Thread Anton Shestakov

Hello, users of Mercurial, Evolve and/or Topic!

We're planning to release a feature release candidate of evolve and 
topic extensions that contains an implementation of a concept that was 
in the plans for quite some time: topic namespaces (the name could 
change, if we find something better) 
https://www.mercurial-scm.org/wiki/TopicPlan#sub_branches.2C_namespacing_and_representation


In short, topic namespaces are trying to fix one of our major UX flaws: 
branches can continue to be used for release management, and topics can 
still be used for implementing features, but now there would be 
something for organizing topics into wider concepts. Topic namespaces, 
just like topics, are designed to go away when you publish your commits, 
and we tried to make them as unobtrusive as possible, to not get in the 
way of current workflows. There is a default topic namespace that will 
not clutter the UI, and users can keep using only branches and topics as 
usual.


But we did change some things in the UI. Remember seeing "branch:topic" 
format in `hg branches`? Well, it was a temporary implementation detail. 
With the implementation of topic namespaces we introduce a more 
thought-out way to represent branches plus topics. In this new format, 
topic namespaces become sort of a glue for all things related to (named) 
branching, e.g. this is what you'd see in hg log:


  branch//namespace/topic

or, if you don't set topic namespace:

  branch//topic

In the future, we're going to support providing branches, topic 
namespaces (if you decide to use them) and topics in this format to all 
commands where it makes sense.


Now, what these topic namespaces are aimed at? Among other things, topic 
namespaces are supposed to help users manage topics; their own and other 
users'. Previously, some people were already using username as a prefix 
for their topic names - this was an ad-hoc implementation of separation 
and/or ownership of work, and now with topic namespaces it's becoming 
more standardized and user-friendly.


Here are more details on what aspects of workflow topic namespaces try 
to improve (taken from the wiki page linked above):


* on the client side, they could be used to safeguard history-rewriting 
operations and in particular avoid conflicting with other people's work


* code hosting providers and forges could map topic namespaces to their 
user or team concepts, and hence ultimately to their permission model


* they could be used to narrow user view and exchange to the part that 
are relevant to them by default


Although the UI didn't change much, and a big part of the planned 
features is not implemented yet, the changes that are included are quite 
extensive. We have changed a significant part of topic's representation 
locally and over the wire during the exchange. Given the scale of these 
changes we encourage people to test this release candidate. That would 
definitely help us pinpoint real issues that we didn't foresee during 
the planning and the development. It could also possibly give you some 
ideas how to integrate topic namespaces into your workflows early.


The release candidate is coming out in the next few days, and the final 
feature release will most likely be ready in about 2 weeks after that. 
During these 2 weeks you can reach out to us and tell if you notice 
something being broken, and we'll obviously try and fix it before the 
final release. That being said, topic namespaces are here to stay, 
although maybe under a different name and with some changes after 
testing in real circumstances.

___
Mercurial-devel mailing list
Mercurial-devel@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel