Note:

This page is primarily intended for developers of Mercurial.

5.6 Sprint

/!\ Subscribe to this page so you don't miss updates!

1. Date and location

This sprint will be held online. Perhaps the week of November 2 (right after the 5.6 release)? Let's see how that works for people and we can change otherwise.

To allow people from many different time zones to participate, we'll probably have to choose topics first and then choose a time zone for each topic that best fits the participants interested in that topic.

1.1. People Availability

Name

Time Zone

Nov 2

Nov 3

Nov 4

Nov 5

Nov 6

Nov 7

Nov 8

Notes

Martin von Zweigbergk

US West Coast

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Jeff Sipek

US East Coast

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Augie Fackler

US East Coast

(./)

(./)

(./) *

(./)

(./) *

(./)

* Monday and Wednesday I'm unlikely to be able to focus until around 1400 America/New_York. Other days all easy.

Jörg Sonnenberger

Central Europe

(./) *

(./)

(./)

(./)

(./)

(./)

Matt Harbison

US East Coast

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Rodrigo Damazio Bovendorp

US West Coast

(./)

{X}

(./)

(./)

(./)

(./)

(./)

Danny Hooper

US West Coast

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Manuel Jacob

Central Europe

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Pierre-Yves David

UTC+1

(./)

<!> *

(./)

(./)

(./)

(./)

(./)

* Tuesday is a meeting minefield already. But still a lot of time available.

Raphaël Gomès

UTC+1

(./)

<!> *

(./)

(./)

(./)

(./)

(./)

* Same as Pierre-Yves

Antoine Cezar

UTC+1

(./)

<!> *

(./)

(./)

(./)

(./)

(./)

* Same as Pierre-Yves

Georges Racinet

UTC+1

(./)

{X}

(./)

(./)

<!> *

(./)

(./)

I have a consultancy on Nov 6, will try and play with time zones

Pulkit Goyal

UTC+5:30

<!>

<!>

<!>

<!>

<!>

<!>

<!>

Timezone differences, but can try to join a meeting or two

Yuya Nishihara

UTC+9

<!>

<!>

<!>

<!>

<!>

<!>

<!>

I can't wake up early

Gregory Szorc

US West Coast

(./)

(./)

(./)

(./)

(./)

(./)

(./)

Sushil Khanchi

UTC+5:30

<!>

<!>

<!>

<!>

<!>

<!>

<!>

Timezone differences, but can try to join meetings acc. to the timings

2. Attendance

<!> fill me when dates have been picked

3. Possible Topics

Important things we want to discuss: (add your own)

3.1. Tags

Multiple large users have their own overwrite of Mercurial tag system. It is worth reviewing what and why they do it and maybe make plan to improve the situation accordingly.

3.2. Releases

Right now durin42 is doing all the releases, and has some help doing release notes. It'd be nice to have others start rolling releases. Is anyone interested? Can we automate this more?

3.3. Shelve using archived phase

What needs to be done to get this to replace current shelve?

3.4. Replication-friendly repository format

durin42 is interested in (and has a handwave of a design for) a storage layer that would be replication-friendly. Basically, "how could we restructure repo storage so that it would be safe to put in {Dropbox,CIFS,etc}"?

3.5. Combined revlog

(added by Pierre-YvesDavid, this is orthogonal to the previous format proposal)

Storing multiple files history into the same filelog could help our disk footsprint and performance.

It "just" mean to add an extra "key" to address content, logic to find the right filelog and some logic adjustement through the code.

I have no hard plan yet, but I wanted to discuss that more broadly.

3.6. More command "namespace"

Right now we have the normal namespace and the "debug" namespace. It would be useful to have a couple more explicit namespace with their own guarantee. For example one dedicated to maintenance command (debugupdatecache, debugrebuildstate, debugupgraderepo, etc…) and one for other tooling (eg: debugcompletion)

3.7. Google's --changeset-as-wdir feature

Multiple contributors from google are trying to have various existing commands being able to consider a revision in place of the working copy. This is an interesting and powerful idea that is worth discussing in greater length. See plan page.

3.8. Demo of Martin's experimental VCS

Martin von Zweigbergk: I have been working on an experimental VCS roughly since the last sprint (mostly in my spare time). It's not compatible with Mercurial, but maybe it will still be interesting to for Mercurial developers to see.

3.9. Dropping Python 2

When do we do it? Do we drop everything compat that is not 3.5.4+? Are we waiting on PyOxidizer?

3.10. State of Rust

- Discuss the current state of the project and what the features underway will become in a few months. - Discuss merging or not merging rhg/chg/hg with the help of PyOxidizer

3.11. Mercurial layered architecture

Alphare: slowly refactoring Mercurial into a two-layer codebase is something I've been thinking about over the past few months since the Rust implementation has adopted this split of core + consumer from the get-go. This is not a call to change everything right now but more of a "what do you think about this as a general direction in the next few years?".

3.12. Testing systems

gracinet: I've been experimenting with Python integration tests for extensions. I'm really satisfied with the results. I'd like to share the experience with the project, and I think it could be really useful in the core as well. Will give more details in IntegrationTestsPlan as a basis for discussion.

3.13. Using MMap More

Mostly things discussed in https://www.mercurial-scm.org/wiki/MMapPlan. What kind of format do we need to move toward to use more of mmap, and do we agree to get there.

3.14. General performance discussion

Exchanging around current performance bottleneck and what kind of option we have to solve them

4. Who is interested in which topics?

MvZ

JSi

AF

JSo

MH

RDB

DH

MJ

PYD

RG

AC

GR

PG

YN

GS

Tags

(./)

Releases

(./)

(./)

Shelve using archived phase

(./)

Replication-friendly repository format

(./)

(./)

(./)

(./)

Combined revlog

(./)

(./)

More command "namespace"

(./)

Google's --changeset-as-wdir feature

(./)

(./)

(./)

(./)

(./)

Demo of Martin's experimental VCS

(./)

(./)

(./)

(./)

Dropping Python 2

(./)

(./)

(./)

(./)

(./)

State of Rust

(./)

(./)

(./)

Mercurial layered architecture

(./)

(./)

(./)

(./)

(./)

Testing systems

(./)

(./)

(./)

(./)

Using MMap More

(./)

(./)

Performance

(./)

(./)

5. Sprint Notes

General overview (drop the anti spam part): <GET SOMETHING FOR NOTES AS ETHERPAD IS GONE(?)>

The table below is an attempt to gather written summary of discussion

Session theme

notes/result

People who know what happened


CategoryMeetings