Differences between revisions 5 and 66 (spanning 61 versions)
Revision 5 as of 2019-06-19 13:51:44
Size: 3214
Editor: PulkitGoyal
Comment:
Revision 66 as of 2019-10-02 17:55:39
Size: 9118
Editor: PulkitGoyal
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
The general time frame for this sprint will be September/October, 2019. The sprint will be held '''October 4-6, 2019''' near '''Jane Street, New York''' in New York, USA.
Line 17: Line 17:
The exact date and location have not been picked yet. We are actively looking for locations. If you want host, write to pulkitmgoyal at gmail.com. The address is 102 North End Avenue, New York, NY 10282 (Conrad New York Downtown), [[https://www.google.com/maps/place/102+North+End+Ave,+New+York,+NY+10282/@40.7121195,-74.0117447,15.25z/data=!4m5!3m4!1s0x89c25a1b7e5f8307:0xde5b402ce13371d5!8m2!3d40.7150499!4d-74.0155621|google maps]].
Line 19: Line 19:
=== Possible Location ===

Sprints have generally been between 20-30 attendees , it is good to have a large main room and a couple of other smaller rooms for sub-meetings.

Following are some possible dates. We are looking for something in September or October.

|| Location || Host || Sept 14-16 || Sept 21-23 || Sept 28-30 || Oct 5-7 || Oct 12-14 || Oct 19-21 ||
|| City || Company/Org || (./) || {X} || {X} || (./) || {X} || {X} ||

Location point of contact: (Location not picked yet)
Location point of contact: Valentin Gatien-Baron, vgatien-baron@janestreet.com
Line 32: Line 23:
=== People Availability === === Arrival Logistics ===

Hours are 8am to 6pm. Go to the address above, and the hotel concierge will indicate the way (it's on the second floor, the main room is called studio 6).

=== Attendance ===
Line 36: Line 31:
|| Name || Coming from || Need funding || Sept 14-16 || Sept 21-23 || Sept 28-30 || Oct 5-7 || Oct 12-14 || Oct 19-21 ||
|| <!> Babar || Savanna || (./) || {X} || {X} || (./) || {X} || {X} || (./) ||
|| Name || Coming from || Need funding || Hotel || In town dates ||
|| Martin von Zweigbergk || SF Bay Area || {X} || The Frederick Hotel || Thu - Mon ||
|| KyleLippincott || SF Bay Area || {X} || The Frederick Hotel || Thu - Mon ||
|| Raphaël Gomès || Lyon, France || {X} || || Tue - Mon ||
|| Pierre-Yves David || Paris, France || {X} || || Sun(29th)-Mon ||
|| Augie Fackler || Pittsburgh || {X} || || ||
|| Sushil Khanchi || India || (./) || || ||
|| DannyHooper || SF Bay Area || {X} || || Wed - Mon ||
|| Georges Racinet || Paris, France || {X} || || Sun(29th)-Sun ||
|| Taapas Agrawal || India || (./) || || Thu - Tue ||
|| Navaneeth Suresh || India || (./) || || Thu - Tue ||
|| Yuya Nishihara || Japan || (./) || || Wed - Mon ||
|| RodrigoDamazio || SF Bay Area || {X} || || ||
|| Connor Sheehan || Toronto, Canada || {X} || || Thu - Mon ||
|| Valentin Gatien-Baron || New York || {X} || local || ||
|| DanielPloch || SF Bay Area || {X} || || ||
|| Gregory Szorc || SF Bay Area || {X} || || ||
|| Mark Thomas || London || {X} || || Fri - Tue ||
|| Boris Feld || Paris, France || {X} || || Mon(30th)-Sun ||
|| Dmitry Deshevoy || Russia || {X} || The Frederick Hotel || Thu - Mon ||
|| Pulkit Goyal || Russia || {X} || Conrad NY || Thu - Mon ||
Line 39: Line 53:
== Attendance ==
Line 41: Line 54:
<!> ''fill me when a location and date have been picked''
Line 43: Line 55:
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 get a large amount of help available for 3 days. NOTE: Sponsorship funding is typically limited. Priority will be given to students and volunteers. If you are paid by your employer to work on Mercurial you should expect to pay your own way, since it's part of your business.
Line 45: Line 57:
||Name ||Coming from ||Need funding ||Hotel ||In Town Dates ||Notes ||
|| <!> Babar || Savanna || {X} || Your hotel name || 13-17 || (I'm an elephant) ||
Line 55: Line 65:
 * <!> ''Please offer your sponsoring''  * Facebook ($5000)
 * Google (enough to reimburse the people we have already agreed to reimburse)
Line 61: Line 72:
Having food delivered for Lunch is usually preferred as it help keeping the timing under control. Jane Street will provide lunch on-site all 3 days. There will be vegetarian, vegan and gluten-free options.

Breakfast and dinner will not be provided.
Line 68: Line 82:
||Day || Meal || Details || Organiser (when relevant)||
|| Friday || Lunch || || ||
|| Friday || Diner || || ||
|| Saturday || Lunch || || ||
|| Saturday || Diner || || ||
|| Sunday || Lunch || || ||
|| Sunday || Diner || || ||
||Day || Meal || Details || Organiser (when relevant) ||
|| Friday || Diner || || ||
|| Saturday || Diner || || ||
|| Sunday || Diner || || ||
Line 79: Line 90:
=== Topic 1 === === Automatic Source Code Formatting ===

 * <!> Convergence of `fix` and `format-source` extension
 * Can we allow more advanced "fixer tools" by providing a working directory, instead of just code on stdin/stdout? Should we?
   * In-repo formatter config files (e.g. be able to honor a .clang-format file in the ctx being fixed)
   * Cross-file static analysis (e.g. be able to fix "functionFromOtherFile(false);" into "functionFromOtherFile(/*paramName=*/false);")
   * Fixes that affect a file other than the one changed (e.g. propagate paramName changes to /*paramName=*/ comments)
   * Or is all of this the domain of an "hg run" command?

=== Python 3 ===

 * Can we start using unicode strings more, at least for things like **kwargs keys and __doc__. How about allowing ui.write() (etc) with unicode?

 * How and when do get rid of the source transformer?
 * Get out of Beta state before 2019 ends?
 * packaging:
   * fedora requires explicit python2 or python3 shebangs
   * no packages currently using python3, no rules written to do so
   * installation directories likely need to change (even off of the default: setup.py prefers 3.x directories while we would probably want "any py3 directory"?)
   * `hg` shebang line at the root of the repo should probably change - generate this file instead of having it be committed to the repo?

=== Rust aka Oxidation ===

 * (gracinet) I'd like to make a short retrospective of one year of Rust development in Mercurial since Stockholm, and start a discussion about what we'll do in the forthcoming year.

=== Hosting ===

 * (gracinet) presentation about Heptapod, the friendly fork of GitLab that supports Mercurial
 * things we can do to help hosting services supporting mercurial

=== hg-git ===

 * What's its current state ? How important is it to the Mercurial project itself ?
 * What about the proposal for core inclusion ?
 * hgit, it's status and path forward

=== Documentation ===

 * Overtime, we developed a lot of nice features and we are in a state where there is relatively less documentations on how to use advanced things like narrow, remotefilelog extensions, try experimental options like zstd.
 * This also applies to nice things which we introduce and enable by default like sparse-revlog, aggressive-merge-deltas etc. There is quite less text on how to work with old versions of repository and how to enable them.
 * Similarly, command documentation could use significant work and customizability.
   * Features enabled don't change the documentation:
     * `hg help commit` claims that you can't amend changesets that have children, even if you're using evolve.
     * `hg help uncommit` claims that you need to pass --keep to keep the commit, even with `experimental.uncommit.keep`
       * should probably also invert the --keep option and show --no-keep
     * Basically: it'd be really nice if there was a sane/standard way for feature flags/settings to override the `hg help <command>` docs, including the flags.
   * Confusing/Garden Path documentation:
       * `hg help rebase` could use an overhaul.
         * There's some confusing terminology ("move" makes sense. "graft" can probably be understood. "merged" seems.. out of place)
         * Describing some -- but nowhere near all -- config options is probably best done by redirecting to `hg help config.rebase`?
         * Source selection (-r, -s, -b) is documented "accurately" but not "clearly". Even experienced Mercurial users are confused by -s and -b.

=== PR ===

 * Do-over of the website's design
 * Landing page with an overview of newer features, who is using Mercurial, why, etc.
 * Integrate the improved documentation from above

=== Graduating experimental features ===

A good number of things which goes into releases is marked as experimental and they get into the experimental trap. It's unclear what each feature needs to be get out of experimental. We have also lost track on what all are the things under experimental tag.

=== Add Your Own Topic ===

Note:

This page is primarily intended for developers of Mercurial.

5.2 Sprint

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

1. Date and location

The sprint will be held October 4-6, 2019 near Jane Street, New York in New York, USA.

The address is 102 North End Avenue, New York, NY 10282 (Conrad New York Downtown), google maps.

Location point of contact: Valentin Gatien-Baron, vgatien-baron@janestreet.com

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

1.1. Arrival Logistics

Hours are 8am to 6pm. Go to the address above, and the hotel concierge will indicate the way (it's on the second floor, the main room is called studio 6).

1.2. 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 get a large amount of help available for 3 days.

Name

Coming from

Need funding

Hotel

In town dates

Martin von Zweigbergk

SF Bay Area

{X}

The Frederick Hotel

Thu - Mon

KyleLippincott

SF Bay Area

{X}

The Frederick Hotel

Thu - Mon

Raphaël Gomès

Lyon, France

{X}

Tue - Mon

Pierre-Yves David

Paris, France

{X}

Sun(29th)-Mon

Augie Fackler

Pittsburgh

{X}

Sushil Khanchi

India

(./)

DannyHooper

SF Bay Area

{X}

Wed - Mon

Georges Racinet

Paris, France

{X}

Sun(29th)-Sun

Taapas Agrawal

India

(./)

Thu - Tue

Navaneeth Suresh

India

(./)

Thu - Tue

Yuya Nishihara

Japan

(./)

Wed - Mon

RodrigoDamazio

SF Bay Area

{X}

Connor Sheehan

Toronto, Canada

{X}

Thu - Mon

Valentin Gatien-Baron

New York

{X}

local

DanielPloch

SF Bay Area

{X}

Gregory Szorc

SF Bay Area

{X}

Mark Thomas

London

{X}

Fri - Tue

Boris Feld

Paris, France

{X}

Mon(30th)-Sun

Dmitry Deshevoy

Russia

{X}

The Frederick Hotel

Thu - Mon

Pulkit Goyal

Russia

{X}

Conrad NY

Thu - Mon

NOTE: Sponsorship funding is typically limited. Priority will be given to students and volunteers. If you are paid by your employer to work on Mercurial you should expect to pay your own way, since it's part of your business.

2. Sponsors

We need funds to pay for flights and hotels for a few independent contributors.

Recent sprints sponsoring budgets were around $10,000. (<!> review this number)

Sponsoring Company:

  • Facebook ($5000)
  • Google (enough to reimburse the people we have already agreed to reimburse)

Sponsor point of contact: <!> durin42 at gmail dot com

3. Meals

Jane Street will provide lunch on-site all 3 days. There will be vegetarian, vegan and gluten-free options.

Breakfast and dinner will not be provided.

Dinner is usually taken outside to help people cool off after a day of work.

(Don't forget vegetarian and vegan options)

Meal point of contact: <!> Please offer your service

Day

Meal

Details

Organiser (when relevant)

Friday

Diner

Saturday

Diner

Sunday

Diner

4. Possible Topics

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

4.1. Automatic Source Code Formatting

  • <!> Convergence of fix and format-source extension

  • Can we allow more advanced "fixer tools" by providing a working directory, instead of just code on stdin/stdout? Should we?
    • In-repo formatter config files (e.g. be able to honor a .clang-format file in the ctx being fixed)
    • Cross-file static analysis (e.g. be able to fix "functionFromOtherFile(false);" into "functionFromOtherFile(/*paramName=*/false);")
    • Fixes that affect a file other than the one changed (e.g. propagate paramName changes to /*paramName=*/ comments)
    • Or is all of this the domain of an "hg run" command?

4.2. Python 3

  • Can we start using unicode strings more, at least for things like **kwargs keys and doc. How about allowing ui.write() (etc) with unicode?

  • How and when do get rid of the source transformer?
  • Get out of Beta state before 2019 ends?
  • packaging:
    • fedora requires explicit python2 or python3 shebangs
    • no packages currently using python3, no rules written to do so
    • installation directories likely need to change (even off of the default: setup.py prefers 3.x directories while we would probably want "any py3 directory"?)
    • hg shebang line at the root of the repo should probably change - generate this file instead of having it be committed to the repo?

4.3. Rust aka Oxidation

  • (gracinet) I'd like to make a short retrospective of one year of Rust development in Mercurial since Stockholm, and start a discussion about what we'll do in the forthcoming year.

4.4. Hosting

  • (gracinet) presentation about Heptapod, the friendly fork of GitLab that supports Mercurial

  • things we can do to help hosting services supporting mercurial

4.5. hg-git

  • What's its current state ? How important is it to the Mercurial project itself ?
  • What about the proposal for core inclusion ?
  • hgit, it's status and path forward

4.6. Documentation

  • Overtime, we developed a lot of nice features and we are in a state where there is relatively less documentations on how to use advanced things like narrow, remotefilelog extensions, try experimental options like zstd.
  • This also applies to nice things which we introduce and enable by default like sparse-revlog, aggressive-merge-deltas etc. There is quite less text on how to work with old versions of repository and how to enable them.
  • Similarly, command documentation could use significant work and customizability.
    • Features enabled don't change the documentation:
      • hg help commit claims that you can't amend changesets that have children, even if you're using evolve.

      • hg help uncommit claims that you need to pass --keep to keep the commit, even with experimental.uncommit.keep

        • should probably also invert the --keep option and show --no-keep
      • Basically: it'd be really nice if there was a sane/standard way for feature flags/settings to override the hg help <command> docs, including the flags.

    • Confusing/Garden Path documentation:
      • hg help rebase could use an overhaul.

        • There's some confusing terminology ("move" makes sense. "graft" can probably be understood. "merged" seems.. out of place)
        • Describing some -- but nowhere near all -- config options is probably best done by redirecting to hg help config.rebase?

        • Source selection (-r, -s, -b) is documented "accurately" but not "clearly". Even experienced Mercurial users are confused by -s and -b.

4.7. PR

  • Do-over of the website's design
  • Landing page with an overview of newer features, who is using Mercurial, why, etc.
  • Integrate the improved documentation from above

4.8. Graduating experimental features

A good number of things which goes into releases is marked as experimental and they get into the experimental trap. It's unclear what each feature needs to be get out of experimental. We have also lost track on what all are the things under experimental tag.

4.9. Add Your Own Topic

  • <!> sub topic 1.a

  • <!> sub topic 1.b

5. Sprint Notes

General overview (drop the anti spam part): https://public.etherpad-mozilla.org/p/sprint-hgx.y-NOSPAMREMOVETHATLASTPAST ( <!> update URL)

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

Session theme

notes/result

People who know what happened


CategoryMeetings

5.2sprint (last edited 2019-10-05 14:10:29 by GregorySzorc)