Note:

This page is primarily intended for developers of Mercurial.

4.0 Sprint

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

1. Date and location

The sprint will be held at the Mozilla office in Paris, Oct 7-9. More info about the office can be found at https://wiki.mozilla.org/Paris.

Location point of contact: Gregory Szorc (indygreg) - gps@mozilla.com

If you need a formal invitation for visa purpose, contact the person above.

2. Arrival Logistics

The Mozilla Paris office is located at 16 Boulevard Montmarte. There is no signage to indicate it is a Mozilla office. Look for solid wood brown doors.

A security guard will be posted in the morning to grant entrance. During designated arrival times, the outside brown doors will be open and the security guard will be downstairs to guide people in. If the doors are closed/locked, use the keypad next to the doors to dial Mozilla and someone should buzz you in.

Designated arrival time on Friday is between 0900 and 1000. If you arrive after this time, you will likely need to call Mozilla from the keypad next to the door to be buzzed in.

Designated arrival time on Saturday and Sunday will be determined Friday.

3. Attendance

Everyone is welcome from core developer to aspiring contributor. Attending a Mercurial sprint is usually a good way to kickstart your contributions and you'll get a large amount of help available for 3 days.

Name

Coming from

Need funding

Hotel

In Town Dates

Notes

Aaron Kushner

SF

no

Ibis Paris Grands Boulevards Opera

Oct 7-10

Alain leufroy

Paris

no

local

Oct 7-9

Andras Belokosztolszki

London

no

Best Western Hotel Opera Drouot

Oct 6-10

Augie Fackler

PIT

no

The Chess Hotel

Oct 6-10

Aurélien Campéas

Paris

no

local

Oct 7-9

Christophe de Vienne

Paris

no

local

Oct 7

Cotizo Sima

London

no

Best Western Hotel Ronceray Opera

Oct 7-9

Denis Laxalde

France

no

TBD

Oct 7-8

Durham Goode

California

no

Westminster

Oct 6-9

Erik van Zijst

California

No

Best Western Hotel Ronceray Opera

Oct 4-11

Florent Aide

Paris

no

local

Oct 7

Gábor Stefanik

Budapest

no

Best Western Anjou Opera

Oct 6-10

Gregory Szorc

SF

no

The Chess Hotel

Oct 5-10

Jeremy Fitzhardinge

SF

no

Ibis Paris Grands Boulevards Opera

Oct 7-10

Jun Wu

London

no

Westminster Hotel

Oct 6-9

Katsunori Fujiwara

Japan

yes

Best Western Diva Opera

Oct 6-10

Kevin Bullock

Minnesota

yes

Best Western Hotel Opera Drouot

Oct 5-10

Kostia Balytskyi

London

no

Westminster

Oct 6-9

Kyle Lippincott

California

no

Villathena

Oct 3-11

Mads Kiilerich

Denmark, Unity

no

Best Western Hotel Ronceray Opéra

Martijn Pieters

London

no

The Westin Paris - Vendome

Oct 6-9

Mateusz Kwapich

London

no

Westminster Hotel

Oct 6-9

Mathias De Maré

Belgium

no

Kyriad Paris Gare du Nord

Oct 6-9

Philippe Pepiot

France

no

TBD

Oct 6-8/9

Pierre-Yves David

Paris

no

local

local

Piotr Listkiewicz

Cracow

yes

TBD

Oct 6-9

Pulkit Goyal

New Delhi

yes

TBD

Oct 6-10

Remi Chaintron

London

no

TBD

TBD

Rodrigo Damazio Bovendorp

California

no

Best Western Hotel Ronceray Opera

Oct 6-10

Ryan McElroy

London

No

Westminster Hotel

Oct 6-10

Sean Farley

California

No

Best Western Hotel Ronceray Opera

Oct 4-11

Siddharth Agarwal

SF

no

Westminster Hotel

Oct 6-9

Simon Farnsworth

London

No

Westminster Hotel

Oct 6-9

Stanislau Hlebik

London

no

Westminster Hotel

Oct 6-9

Wez Furlong

California

No

Westminster Hotel

Oct 6-9

Yuya Nishihara

Japan

maybe

Richmond Opéra

Oct 6-10

4. Travel tips

* If you need a smartphone to use while in Paris, http://www.insidr.paris/ is an option.

* Unless you spend you day in the subway, the "day ticket" is usually not worth it.

* There is a single ticket type for all travels in the downtown area "Ticket T". Buying them in "book" of 10 is much cheaper (25% cheaper)

* From the airport you need a "Paris - CDG" ticket. They are quite expensive (around 10€) because of airport tax

5. Sponsors

We have funds to pay flights and hotel for a few independent contributors.

Sponsoring Company:

Sponsor point of contact: Kevin Bullock < kbullock@ringworld.org >

6. Meals

Having Food delivered for Lunch is usually preferred as it help keeping the timing under control. Dinner is usually taken outside to help people cool off after a day of work.

(Don't forget vegetarian and vegan option)

We'll have lunch on site and dinner outside. Given the group size, we usually break up in smaller group for dinner.

idea place ideas:

7. Possible Topics

It worked well at the last sprint to devote some of the time to "unconference"-style sessions, proposed by attendees and scheduled into a grid of timeslots and rooms. Do we want to plan on that again? —KevinBullock

Important things we want to discuss:

7.1. Project infrastructure (Kevin Bullock)

I'll give a report on the current state of the project's infrastructure (server, buildbot, bugzilla, mailing lists, &c.), and walk people thru the config automation we've done via Ansible and Docker. Hoping to get some more people familiar with it so they can solve problems when they arise.

7.2. Transition

Did you knew Mercurial now had a Steering committee ? (and other question related to mpm/transition)

7.3. Topics (Sean Farley, Erik van Zijst, Pierre-Yves David anyone else)

Flesh out topics. Designing a natural and easy-to-use workflow: when should a changeset become public in an average user's workflow?

7.4. MergeDriver internals (Siddharth Agarwal, ...)

Talk (~1h) about internals of MergeDriverPlan + whatever work we end up doing next.

7.5. StreamClone and Batch wireproto enhancements (durin42, indygreg)

Seem related. Streamable and reorderable batch.

7.6. Evolution and relation topic (Kyle Lippincott, Pierre-Yves David)

It is probably worth chatting about evolution in general.

Kyle had some specific questions too:

Q: Is hg evolve --all discouraged? Should it be? :)

A: Yes, it is, for various temporary and fundamental reason:

Q: Frequently users at Google just run hg evolve --all instead of more focused evolves, and dislike that after hg evolve --all they are on the tip-most revision instead of the revision they started on (or potentially the successor of that revision). I'd like to discuss changing this movement behavior (via a flag and/or config option)

A: This is definitly something we would like to change. especially now that 'hg next'; have some evolution capability. However, more work on the evolution state file is needed. Anyone is welcome to send patch to make progress here.

Q: The subject is based on my (possibly flawed) recollection that the movement is happening because hg evolve --all; hg co .^^; hg amend; hg evolve --all; hg co .^; hg amend; ... is really not recommended.

A: Yes there is a potential marker explosion issue that we need to have a proper answer to.

7.7. Performance tracking suite (Philippe Pepiot)

Talk and demo about PerformanceTrackingSuitePlan

7.8. Virtual filesystems for source code (Kyle Lippincott, Durham Goode?)

Google has had this (for non-Mercurial repos) for a while and Facebook has just started working on something called Eden. It'd be great to discuss how this fits in Mercurial's overall ecosystem, whether anything should go into core and other plans going forward.

7.9. Reliability and performance in large Mercurial deployments (Rodrigo Damazio)

Many companies now have large Mercurial repositories, often hosted in a distributed server environment. I'd like to discuss implications and a few specifics (such as having exponentially-backed-off retries, request batch load-balancing and out-of-order batch replies on the client).

7.10. Code Review Tooling (Ryan McElroy)

A persistent issue for people wishing to provide a little bit of help to the community through code review (which might lead to a lot of help over time!) is the need for each person to develop their own tooling around an email-based workflow. What tools can we bring to bear to make "wading in" to the community more accessible (rather than being doused with a firehose).

Jun has a fork of the sup email client which has some nice features like Patchwork integration.

7.12. Bitmap Index for obsolete, phase, hidden changesets (Durham, Jun, Pierre-Yves)

Mainly to address the start-up time reading the obsstore, calculating various sets of obsoleted commits. It aims for O(1) testing if a rev is hidden or not, with O(1) start-up time. The bitmap index is better to be the source of truth so other code path can only do incremental update to it - better for performance.

7.13. Mercurial book progress (Mathias)

Anyone interested in the book is welcome to discuss progress and future plans

7.14. Revisiting Scale (Jeremy F)

Quick sketch of some server-side work we're planning to cope with Facebook scale.

7.15. Making clone+checkout as fast as possible (indygreg)

Things we need to do to go from fresh machine to having a working copy as fast as possible.

7.16. zstandard (indygreg)

I want to have a discussion about vendoring it and making it the default to replace zlib.

7.17. Fake parent / changeset splicing (indygreg)

Anyone interested in implementing FakeParentPlan? Is that proposal compatible with shallow clone and other core changes in the works?

7.18. Forward Blame / Find Next Changeset to touch/remove this line (indygreg)

Anyone want to hack on this at sprint?

7.19. Random experimental ideas

Some random ideas without POCs.

7.20. Mercurial on Pypy (Maciej Fijalkowski, Pierre-Yves David)

Some look at what was achieved with pypy so far and discussion about what we could do next.

Requires a VC with Maciej Fijalkowski, according to him, we could do that on Sunday.

7.21. Mercurial hosting ( Sean, Erik, Mads, Mathias)

Let's chat about the state of Kalithea, Bitbucket etc.

8. Sprint Notes

General overview (drop the anti spam part): https://public.etherpad-mozilla.org/p/sprint-hg4.0-NOSPAMREMOVETHATLASTPART

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

Session theme

notes/result

People who know what happen


CategoryMeetings