Social presence 2023

2023-07-11 Thread Anton Shestakov

Hey all,

This is just a quick email to start a brainstorming thread about our 
public presence on the Internet.


We have some presence at the moment, e.g.

https://wiki.mercurial-scm.org/SocialMedia
https://wiki.mercurial-scm.org/ProjectInfrastructure

I'm not sure how active these accounts are, and I have no urge to even 
dip my toes into big corporate social networks for some reason.


But, watching all these news about current Twitter and Reddit "executive 
decisions" made me think about maybe getting an official account on 
federated social networks aka the Fediverse. For example, there's 
fosstodon.org for microblogging (e.g. announcing releases) and 
programming.dev for general discussions (e.g. user support and sharing 
blog posts, etc). Of course, if anyone has a better suited instance in 
mind (self-hosting??), feel free to suggest.


For an example microblogging style of content, here's Heptapod:

https://fosstodon.org/@heptapod

Finally, if we do get some official accounts on the Fediverse, I 
personally wouldn't mind posting something there occasionally and/or be 
a backup moderator just in case, but unfortunately I'm not in the 
position to be in charge of those accounts at this moment.

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


Are you using evolve.serveronly and serverminitopic extensions?

2023-01-30 Thread Anton Shestakov

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

Some of you may be using the following server-only extensions: 
evolve.serveronly and serverminitopic, that live in the same repo as 
regular evolve extension: https://www.mercurial-scm.org/repo/evolve


These extensions were used by Bitbucket when it still supported 
Mercurial, because they were very lightweight and supported the minimum 
logic required for proper changeset exchange and obsmarker discovery 
(for example), but without any extra bits like new hg commands in CLI.


Back in the day, people chose these extensions because in theory they 
would have lower risk of breaking things; after all, evolve and topic do 
have some experimental features. However, it currently seems that 
evolve.serveronly and serverminitopic aren't tested (neither by our test 
suite nor by the users) as extensively as the main evolve and topic 
extensions, which in the recent years became much more polished after 
being test-driven daily in real circumstances on real projects by both 
the developers and the users (who are also developers sometimes (:).


So if you use evolve.serveronly and serverminitopic, we would really 
suggest you to switch to evolve and topic on the server side. The good 
news is that this shouldn't have any adverse effects on your setup.


If you have any questions, don't hesitate to ask them in a response to 
this email, or starting a separate thread on this mailing list, or 
emailing me directly. Also we're on IRC: #mercurial on libera.chat, 
https://www.mercurial-scm.org/wiki/IRC


The bad news is that while preparing a feature release candidate, we 
noticed that it's no longer viable to add features and cover them by 
tests in multiple extensions, so we're going to deprecate 
evolve.serveronly and serverminitopic in the coming release candidate 
and then REMOVE BOTH extensions in the coming feature release.


If you really cannot switch to the main extensions in your server setup, 
you will still be able to use the old extensions from evolve 10.5.3, but 
obviously they won't support newer features that are coming soon.


If you're interested in testing the new features from the release 
candidate (and/or knowing why this feature release needs an rc at all, 
which is unusual for evolve), I have sent another email to this mailing 
list about evolve 11.0.0 and topic 1.0.0.

___
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