Note:
This page is primarily intended for developers of Mercurial.
4.4 Sprint
Contents
- Date and location
- Arrival logistics
- Sponsors
- Meals
-
Possible Topics
- Windows Testing
- narrowhg
- Mononoke
- Rust
- Review Tooling
- GUIs for enterprise deployment
- hg show
- style guide changes/improvements
- Support for long paths on Windows
- Backup file madness (`foo.orig`)
- In-repo config files
- Sparse in core
- hg workspaces
- hg restack
- Dirstate
- Sparse/Lazy changelog
- remotenames
- topics/named branches
- Corporate self-review
- Shell prompts
- Automatic code formatting
- Locking
- Topic 1
- Sprint Notes
Subscribe to this page so you don't miss updates!
1. Date and location
The sprint will be held from September 29--October 1, 2017 at Facebook Dublin in Ireland.
The address is 4 Grand Canal Square, Grand Canal Dock, Dublin 2, Ireland (Google Maps).
For a visa letter, please contact Andras Belokosztolszki (andrasbelo AT fb DOT com). Please include full name (as in passport), DoB, passport number, issue date, expiry date, exact dates of travel, nationality, country of residence, ideally passport copy.
1.1. Agenda
The Agenda Available as a Google Spreadsheet
Friday will include intros, presentations about the state of the Mercurial project, and "Vision Statements" about possible futures of the project, followed by breakout sessions to discuss topics more in depth.
Saturday is primarily dedicated to additional breakout sessions.
Sunday will focus on writing some code based on ideas discussed in the sprint, and then ending with presentations about cool prototypes, new functionality, and similar tech talks.
We need additional people to sign up for Vision Statements and Tech Talks!
2. Arrival logistics
Please make sure you fill in the attendee list below. 24 hours before the event the badges will be requested. At the Facebook office we will have the "Live Lounge" room on the 6th floor. WiFi, AV and Flipboard will be available. Any issues on the day ping me on (andrasbelo AT fb DOT com).
2.1. Attendance
Everyone is welcome, from core developers to aspiring contributors. Attending a Mercurial sprint is usually a good way to kickstart your contributions as you'll have a large amount of help available for 3 full days.
Name |
Coming from |
Need funding |
Hotel |
In town dates |
Siddharth Agarwal |
San Francisco |
no |
Marker Hotel |
Sept 28-Oct 2 |
Martin von Zweigbergk |
SF Bay Area |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Augie Fackler |
Pittsburgh |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Yuya Nishihara |
Japan |
yes |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
London |
no |
Clayton Cardiff Lane |
Sept 28-Oct 4 |
|
Adam Simpkins |
SF Bay Area |
no |
Marker Hotel |
Sept 28-Oct 2 |
Durham Goode |
SF |
no |
Clayton Cardiff Lane |
Sept 28-Oct 1 |
Mark Thomas |
London |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Kevin Bullock |
Saint Paul |
yes |
Clayton Cardiff Lane |
Sept 27-Oct 2 |
Kostia Balytskyi |
London |
no |
Clayton Cardiff Lane |
Sept 28-Oct 4 |
SF Bay Area |
no |
Clayton Cardiff Lane |
Sept 26-Oct 2 |
|
Rodrigo Damazio |
SF Bay Area |
no |
Staying with friends |
Sept 27-Oct 2 |
Phil Cohen |
SF |
no |
Marker Hotel |
Sept 28-Oct 2 |
Simon Whitaker |
London |
no |
Clayton Cardiff Lane |
Sept 28-Oct 1 |
Andras Belokosztolszki |
London |
no |
The Spencer Hotel |
Sept 28-Oct 1 |
Aaron Kushner |
SF |
no |
Marker Hotel |
Sept 28-Oct 1 |
SF Bay Area |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
|
Rishabh Madan |
India |
yes |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Pulkit Goyal |
India |
maybe |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Japan |
yes |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
|
Gregory Szorc |
SF |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
Chingis Dugarzhapov |
Amsterdam |
no |
TBD |
Sept 29-Oct 1 |
Boris Feld |
Paris |
no |
Airbnb nearby |
Sept 29-Oct 1 |
Denis Laxalde |
Toulouse |
no |
Airbnb nearby |
Sept 29-Oct 1 |
Mads Kiilerich |
Denmark |
no |
Clayton Cardiff Lane |
Sept 28-Oct 2 |
3. Sponsors
We need funds to pay flights and hotel for a few independent contributors.
Recent sprints sponsoring budgets were around $10,000.
Sponsoring Companies:
Please offer your sponsoring
Sponsor point of contact: E-mail mercurial-steering AT mercurial-scm.org
4. Meals
Having food delivered for lunch is usually preferred as it helps us get back to work quicker. We usually go out for dinner to help people cool off after a day of work.
5. Possible Topics
Important things we want to discuss: (add your own)
5.1. Windows Testing
AugieFackler had problems during our last set of security patches validating things on Windows. He'd like to work with someone to document the steps required to go from an empty Windows VM to a working testsuite for development purposes.
5.2. narrowhg
Recently several people have started kicking the tires on narrowhg. I think we've got a subset of narrowhg that could be fused with the recently-imported sparse code and landed in core. I'd like to discuss this further.
5.3. Mononoke
Facebook is working on a distributed Mercurial server in Rust. sid0 can do a status update: where we're going, what it's meant for, and what can be useful to the broader Mercurial community.
5.4. Rust
Seriously consider using Rust for new native code.
5.5. Review Tooling
Phabricator. It's probably nice for contributors and usable thanks to the new dashboard. But still the email interface seems plain useless for me (yuja) and it's painful to quickly scan what's going on.
- How to increase review particpation
5.6. GUIs for enterprise deployment
Google would like to deploy a recommended GUI for engineers to use, but all the available options seem to have some shortcoming (for instance, many bundle their own hg and only work with that). We don't have the bandwidth to invest in fully developing a GUI, but would like to discuss adapting an existing one for use in controlled deployments.
5.7. hg show
- Move to core?
Turn views into actual commands (like hg swork)?
5.8. style guide changes/improvements
- CAPITAL_WITH_UNDERSCORE constants?
CapitalizedCase classes?
- camelCase locals? underscore_locals?
- Full PEP8 adoption?
- """Normalized docblock rules"""?
- Appoint a "style czar" to make decisions and avoid endless bikesheds?
5.9. Support for long paths on Windows
- Should we automatically prepend //?/ to all absolute paths?
- How Python3 migration affects these plans
5.10. Backup file madness (`foo.orig`)
- There's a can of worms surrounding backup file names:
They can clobber tracked files that happened to be called something ending in .orig (issue 5685)
scmutil.origpath uses absolute filenames and doesn't support windows well (comments in https://phab.mercurial-scm.org/D680)
- What can we do to resolve these problems?
5.11. In-repo config files
- Allow per-repo revsets, templates, command aliases, etc defined via in-repo files.
PoC with discussion https://phab.mercurial-scm.org/D98
- Need to hash out various security and UX concerns
5.12. Sparse in core
- Do we need a new dirstate concept to represent "elided" files? e.g. how do you purge files outside the sparse profile?
- UI bikeshedding
- Path to non-experimental
- profile-specific branches?
- remappings in working directory?
5.13. hg workspaces
- Demo the prototype 'hg workspaces' extension. An alternative to local bookmarks
5.14. hg restack
- Discuss the path to upstreaming hg restack (i.e. similar to hg evolve)
- Getting hash preservation into core for the 4.5 release
5.15. Dirstate
- Refactors needed for easier integration with FUSE filesystems
- Refactors needed for better scaling
5.16. Sparse/Lazy changelog
- Refactoring the changelog in H1 to not require all of history
5.17. remotenames
- Go over the plan for upstreaming the remotenames extension
5.18. topics/named branches
- Pulkit is working on improving topics and trying to upstream some good ideas from topics to named branches.
5.19. Corporate self-review
- What community standard should we have around a company's employees reviewing their coworker's code?
- Augie touched on this in his speech -- be aware of biases
- Shall companies have directories inside the codebase where they can play with in-progress ideas before getting "full review"?
5.20. Shell prompts
- No one wants to own up to putting this on the spreadsheet, so I'm going to assume this is about prompts... in your shell. whatever that means.
5.21. Automatic code formatting
Google is working on a hg fix method that runs things like clang-format, etc. We want to talk about the UX here, possibly upstreaming it, etc.
An extension has been developed for Mozilla to apply and gracefully merge code formatting: https://bitbucket.org/octobus/format-source
5.22. Locking
- ¯\_(ツ)_/¯
- Adam?
5.23. Topic 1
sub topic 1.a
sub topic 1.b
6. Sprint Notes
General overview (drop the anti spam part): https://public.etherpad-mozilla.org/p/sprint-hg4.4-NOSPAMREMOVETHATLASTPAST
Copy of notes archived at 4.4sprint/Notes.