Differences between revisions 20 and 44 (spanning 24 versions)
Revision 20 as of 2014-05-27 23:36:32
Size: 2622
Comment:
Revision 44 as of 2022-10-12 15:53:35
Size: 3873
Editor: AugieFackler
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2

<<Include(A:style)>>
<<Include(A:dev)>>
Line 5: Line 10:
<<TableOfContents>>
Line 8: Line 14:
 * All reviews happen on MailingLists#The_Mercurial-Devel_list  * Reviews happen on MailingLists#The_Mercurial-Devel_list and [[https://phab.mercurial-scm.org/|Phabricator]]
Line 10: Line 16:
 * Contributors follow the ContributingChanges and send their patch(es) to the list (hopefully using the PatchbombExtension)  * Contributors follow the ContributingChanges and send their patch(es) to the list
Line 12: Line 18:
 * Reviews are just email replies to the emailed patch  * Reviews are just email replies to the emailed patch, or Phabricator comments
Line 14: Line 20:
 * ``Everyone`` is welcome to do review.  * ``Everyone`` is welcome to do review
Line 19: Line 25:

   Quick reminder of important things:

   * commit message format,

   * Patch does one and only one thing,

   * Change is tested

   * Documentation augmented an updated

   * (all the other things in the list)
Line 38: Line 32:
=== For email patches ===
Line 40: Line 36:
If everything sounds good, reply to the email too. Just state it looks good to you. If everything sounds good, reply to the email too. Just state it looks good to you in your reply.
Line 42: Line 38:
=== For Phabricator patches ===

Comment on the web page. Feel free to use "Accept Revision" action even if you're not a core reviewer. If you want to comment without using a browser, follow steps on [[Phabricator]] and use "hg phabupdate".

== Things we commonly miss ==

(we should probably move these recommendation in other page and just link to them)

 * Good 'topic'. (The part is the one before colon in the first line `topic: short desc`). It is unvaluable to sort thing out when scanning through commit, especially when building a release changelog. A common mistake is to pick a very general work like "commands".

 * Config section. All debatable/temporary/unsure-we-want-this config should go to the `[experimental]` config section. For other option, try to avoid adding a new section if we can't foresee more than one option in it and another pre-existing section would be a good fit.

 * Deprecation warning, if a major internal API get killed, encourage the preservation of the old version for 1 version with a deprecation warning (if it is easy to implement). This makes third party extensions maintainer life easier.
Line 45: Line 54:
Some people are blessed to accept patches and push them to a repo where Matt Mackall ultimatly pull from. Some people are blessed to accept patches and push them to a repo where Matt Mackall ultimately pulls from.
Line 55: Line 64:
 * you can get the patches files directly from http://review.octopoid.net/patches/<node>/raw.txt Appropriate hg alias would be:  * you can get the patches files directly from http://hgpatches.durin42.com/patches/<node> Appropriate hg alias would be:
Line 59: Line 68:
getpatch=import --partial --obsolete http://review.octopoid.net/patches/$1/raw.txt getpatch=import --partial --obsolete http://hgpatches.durin42.com/patches/$1
Line 68: Line 77:
Line 74: Line 84:
 * Update [[http://patchwork.serpentine.com/project/hg/list/|Patchwork]] once you have pushed
Line 79: Line 87:
 * [[http://patchwork.serpentine.com/project/hg/list/|Patchwork]] ([[http://hgpatches.appspot.com/?days=30|backlog plot]])  * [[https://phab.mercurial-scm.org/|Phabricator]]
Line 83: Line 91:
 * [[http://42.netv6.net/reviewtools/|Collection of script]]  * Various data collection [[http://review.octopoid.net/]] (STALED)
Line 85: Line 93:
 * Various data collection [[http://review.octopoid.net/]]  * Matt Mackall Inbox [[http://www.selenic.com/inbox|Metrix (nb email, nb patches, oldest email (in day))]] and [[http://www.selenic.com/inflight|Content]].
Line 87: Line 95:
 * [[http://www.selenic.com/inbox|Matt Mackall Inbox Metrix]] (nb email, nb patches, oldest email (in day)) == The Committers Group ==

Current list with push access to the [[https://www.mercurial-scm.org/repo/hg-committed/|hg-committed repository]]

 * Kevin Bullock
 * Augie Fackler
 * Matt Mackall
 * Yuya Nishihara
 * Martin von Zweigbergk
 * Gregory Szorc
 * Sean Farley
 * RyanMcElroy
 * Pulkit Goyal

----
CategoryDeveloper

{i} This page does not meet our wiki style guidelines. Please help improve this page by cleaning up its formatting.

Note:

This page is primarily intended for developers of Mercurial.

Patch Review Process

This page explains the Mercurial patch review process and how (anyone) can help.

1. Generic Fact

2. Simple Review Checklist

  • The patch should conform to the ContributingChanges bullet list.

  • You understand the change
  • The change seems correct
  • The change seems efficient

2.1. For email patches

If any concerns raised, reply to the email asking questions.

If everything sounds good, reply to the email too. Just state it looks good to you in your reply.

2.2. For Phabricator patches

Comment on the web page. Feel free to use "Accept Revision" action even if you're not a core reviewer. If you want to comment without using a browser, follow steps on Phabricator and use "hg phabupdate".

3. Things we commonly miss

(we should probably move these recommendation in other page and just link to them)

  • Good 'topic'. (The part is the one before colon in the first line topic: short desc). It is unvaluable to sort thing out when scanning through commit, especially when building a release changelog. A common mistake is to pick a very general work like "commands".

  • Config section. All debatable/temporary/unsure-we-want-this config should go to the [experimental] config section. For other option, try to avoid adding a new section if we can't foresee more than one option in it and another pre-existing section would be a good fit.

  • Deprecation warning, if a major internal API get killed, encourage the preservation of the old version for 1 version with a deprecation warning (if it is easy to implement). This makes third party extensions maintainer life easier.

4. Accepters Review Checklist

Some people are blessed to accept patches and push them to a repo where Matt Mackall ultimately pulls from.

Here is another check list for them

  • Run check code on all patches
  • Run the whole test suites
  • Reply to the list saying that you took care of the patch
  • you can get the patches files directly from http://hgpatches.durin42.com/patches/<node> Appropriate hg alias would be:

    • [alias]
      getpatch=import --partial --obsolete http://hgpatches.durin42.com/patches/$1
  • Make sure you created obsolescence marker between the node in the patch and the one you created, e.g.
    • hg import --partial --obsolete <patches>:
  • use the drophack extension if you need to drop a changeset you queued

  • Rebase your queue on top of main's @

  • Move @ with the changeset you pushed.

5. Review Tooling

6. The Committers Group

Current list with push access to the hg-committed repository

  • Kevin Bullock
  • Augie Fackler
  • Matt Mackall
  • Yuya Nishihara
  • Martin von Zweigbergk
  • Gregory Szorc
  • Sean Farley
  • RyanMcElroy

  • Pulkit Goyal


CategoryDeveloper

ReviewProcess (last edited 2022-10-12 15:53:35 by AugieFackler)