doc: Rework section on ACK in CONTRIBUTING.md #16149

pull MarcoFalke wants to merge 1 commits into bitcoin:master from MarcoFalke:1906-docACK changing 1 files +21 −10
  1. MarcoFalke commented at 1:47 PM on June 5, 2019: member

    utACK and t(ested) ACK are deprecated and will be removed in the next major release. Please use the more generic ACK and include an explanation of what was reviewed.

    There was a related discussion in http://diyhpl.us/wiki/transcripts/bitcoin-core-dev-tech/2019-06-05-code-review/ section The author could offer a guide for review.

  2. fanquake added the label Docs on Jun 5, 2019
  3. MarcoFalke renamed this:
    doc: Rework section on ACK
    doc: Rework section on ACK in CONTRIBUTING.md
    on Jun 5, 2019
  4. laanwj commented at 1:54 PM on June 5, 2019: member

    utACK

  5. in CONTRIBUTING.md:242 in fad8b054c8 outdated
     236 | @@ -237,24 +237,32 @@ request. Typically reviewers will review the code for obvious errors, as well as
     237 |  test out the patch set and opine on the technical merits of the patch. Project
     238 |  maintainers take into account the peer review when determining if there is
     239 |  consensus to merge a pull request (remember that discussions may have been
     240 | -spread out over GitHub, mailing list and IRC discussions). The following
     241 | +spread out over GitHub, mailing list and IRC discussions).
     242 | +
     243 | +#### Conceptual review
    


    promag commented at 2:09 PM on June 5, 2019:

    nit, upper case Review, same below.


    MarcoFalke commented at 2:41 PM on June 5, 2019:

    Done

  6. promag approved
  7. promag commented at 2:11 PM on June 5, 2019: member

    With this change it's impossible to quickly filter for t(ested) reviews. Let's see if this doesn't make people ACK less (when a simple utACK is enough like #16149 (comment)).

    ACK fad8b05, new guideline looks good as well as markdown.

  8. in CONTRIBUTING.md:249 in fad8b054c8 outdated
     245 | +A review can be a conceptual review, where the reviewer leaves a comment
     246 | + * `Concept ACK`, meaning "I agree in the general principle of this pull
     247 | +   request",
     248 | + * or `NACK`, including a rationale why they think the change is or is not
     249 | +   worthwile. NACKs without accompanying reasoning may be disregarded.
     250 | +
    


    moneyball commented at 2:20 PM on June 5, 2019:

    @sipa mentioned there is a distinction between ACKing

    1. the problem intended to be solved
    2. the approach being used to solve the problem

    As a concept reviewer, it would be nice to communicate whether you're ACKing just #1, or also #2. This can help the author understand whether other contributors feel like this is an important problem to solve, so even those the proposed approach might not gain acceptance, it could be worthwhile for the author to go back to the drawing board to solve the problem (vs. give up entirely).

    How should a concept reviewer express this? Should they state "Problem ACK, Concept NACK"?


    MarcoFalke commented at 2:42 PM on June 5, 2019:

    Can't remember the wording, but I picked "Concept ACK" and "Design ACK".


    ajtowns commented at 10:01 AM on June 12, 2019:

    This seems to say "Approach NACK" means "Concept ACK" which I don't think is true...


    MarcoFalke commented at 10:07 AM on June 12, 2019:

    Fixed


    real-or-random commented at 2:02 PM on June 13, 2019:

    I actually assumed "Approach NACK" implies "Concept ACK" somehow. If you don't like the concept, you probably don't care too much about the approach.

    So I think "Approach ACK" should imply "Concept ACK". Not sure what "Approach NACK" should imply, but I think a NACK should be explained anyway, so that's not an issue in practice.


    MarcoFalke commented at 2:08 PM on June 13, 2019:

    Ok, reverted back

  9. MarcoFalke force-pushed on Jun 5, 2019
  10. morcos commented at 2:53 PM on June 5, 2019: member

    utNACK . how about discouraged? i think its definitely useful to have more information, but its also nice to have shorthand for "i read through this code and it appears correct to me (as well as an implicit concept ACK)"

    EDIT: Changing my opinion to somewhere between "Alex was here" and "utACK". I do think it can be useful to help other contributors think about what kind of concerns you analyzed or existing tests you thought might have covered the changes.

  11. MarcoFalke commented at 2:59 PM on June 5, 2019: member

    I don't think it is hard to explicitly write ACK, I only looked at the diff in GitHub for 5 seconds and it doesn't introduce an obvious DoS. I think utACK has a meaning that is too broad to have any meaning. It is highly discouraged. Of course you can still use it, but at your own expense.

  12. in CONTRIBUTING.md:250 in facb4553f3 outdated
     246 | + * `Concept (N)ACK`, meaning "I do (not) agree in the general goal of this pull
     247 | +   request",
     248 | + * `Design (N)ACK`, meaning `Concept ACK` and "I also do (not) agree with the design of
     249 | +   this change".
     250 | +
     251 | +A `NACK` needs to include a rationale why the change is or is not worthwile.
    


    practicalswift commented at 9:23 AM on June 6, 2019:

    Is this really worthwhile? :-)

  13. MarcoFalke force-pushed on Jun 6, 2019
  14. in CONTRIBUTING.md:240 in fabddde903 outdated
     236 | @@ -237,24 +237,35 @@ request. Typically reviewers will review the code for obvious errors, as well as
     237 |  test out the patch set and opine on the technical merits of the patch. Project
     238 |  maintainers take into account the peer review when determining if there is
     239 |  consensus to merge a pull request (remember that discussions may have been
     240 | -spread out over GitHub, mailing list and IRC discussions). The following
     241 | +spread out over GitHub, mailing list and IRC discussions).
    


    fanquake commented at 11:01 AM on June 7, 2019:

    Could mention here that linking to those discussions when doing review/concept ACKing is encouraged.

  15. fanquake approved
  16. fanquake commented at 11:01 AM on June 7, 2019: member

    ACK https://github.com/bitcoin/bitcoin/pull/16149/commits/fabddde9038c0cec16379d17de9d338cc9efe402

    The only other suggestion I'd make, while we are modifying the contributing sections, is to mention that reviewers should take advantage of the review functionality on GitHub (especially when doing nit type review), if only to save repository subscribers from getting 10 emails vs 1.

  17. MarcoFalke force-pushed on Jun 11, 2019
  18. MarcoFalke commented at 9:36 AM on June 11, 2019: member

    Replaced "Design ACK" with "Approach ACK", since that seems to be more common.

  19. in CONTRIBUTING.md:250 in fa570e5ef3 outdated
     246 | + * `Concept (N)ACK`, meaning "I do (not) agree in the general goal of this pull
     247 | +   request",
     248 | + * `Approach (N)ACK`, meaning `Concept ACK` and "I also do (not) agree with the
     249 | +   approach of this change".
     250 | +
     251 | +A `NACK` needs to include a rationale why the change is or is not worthwhile.
    


    ajtowns commented at 10:02 AM on June 12, 2019:

    I think you could drop the "is or" from that sentence


    MarcoFalke commented at 10:07 AM on June 12, 2019:

    Done

  20. ajtowns commented at 10:04 AM on June 12, 2019: member

    Approach ACK, this seems to be an improvement to me.

  21. MarcoFalke force-pushed on Jun 12, 2019
  22. doc: Rework section on ACK fac5ddfc57
  23. MarcoFalke force-pushed on Jun 13, 2019
  24. moneyball commented at 3:56 PM on June 13, 2019: contributor

    ACK fac5ddfc5796022601af2c17fd0b158b2c465cba

  25. MarcoFalke added this to the milestone 0.19.0 on Jun 14, 2019
  26. michaelfolkson commented at 2:37 PM on June 16, 2019: contributor

    Both Concept ACK and Approach ACK do not give any indication of whether the reviewer has tested the code. Testing is only referenced after the PR has received both a Concept ACK and an Approach ACK. Correct?

  27. MarcoFalke referenced this in commit 2ea8ebd211 on Jun 16, 2019
  28. MarcoFalke merged this on Jun 16, 2019
  29. MarcoFalke closed this on Jun 16, 2019

  30. moneyball commented at 5:08 PM on June 16, 2019: contributor

    @michaelfolkson Both Concept and Approach ACK can occur before any code is written or at least mergeable code. Concept ACK is "I agree this is a problem that is a priority to address." Approach ACK is "I agree the design/approach is the right one to address this problem." Neither of these require final, testable, or mergeable code, although having code can help the author make the case that this is the best approach as it brings more clarity.

  31. in CONTRIBUTING.md:245 in fac5ddfc57
     241 | +spread out over GitHub, mailing list and IRC discussions).
     242 | +
     243 | +#### Conceptual Review
     244 | +
     245 | +A review can be a conceptual review, where the reviewer leaves a comment
     246 | + * `Concept (N)ACK`, meaning "I do (not) agree in the general goal of this pull
    


    jonatack commented at 5:15 PM on June 16, 2019:

    s/in/with/

  32. in CONTRIBUTING.md:255 in fac5ddfc57
     251 | +A `NACK` needs to include a rationale why the change is not worthwhile.
     252 | +NACKs without accompanying reasoning may be disregarded.
     253 | +
     254 | +#### Code Review
     255 | +
     256 | +After conceptual agreement on the change, code review can be provided. It is
    


    jonatack commented at 5:17 PM on June 16, 2019:

    Suggestion: s/It is starting/A review begins/

  33. in CONTRIBUTING.md:257 in fac5ddfc57
     253 | +
     254 | +#### Code Review
     255 | +
     256 | +After conceptual agreement on the change, code review can be provided. It is
     257 | +starting with `ACK BRANCH_COMMIT`, where `BRANCH_COMMIT` is the top of the
     258 | +topic branch. The review is followed by a description of how the reviewer did
    


    jonatack commented at 5:18 PM on June 16, 2019:

    Suggestion: s/branch. The review is /branch, /

  34. in CONTRIBUTING.md:243 in fac5ddfc57
     257 | +starting with `ACK BRANCH_COMMIT`, where `BRANCH_COMMIT` is the top of the
     258 | +topic branch. The review is followed by a description of how the reviewer did
     259 | +the review. The following
     260 |  language is used within pull-request comments:
     261 |  
     262 | -  - (t)ACK means "I have tested the code and I agree it should be merged", involving
    


    jonatack commented at 5:22 PM on June 16, 2019:

    Removing the utACK designation might complicate, or render less reliable or useful, review parsing for apps like bitcoinacks and the review bot (https://twitter.com/BitcoinCorePRs) that I would like to finish after the Chaincode seminars.

  35. jonatack commented at 5:23 PM on June 16, 2019: member

    Post-merge review. Cheers.

  36. MarcoFalke deleted the branch on Jun 16, 2019
  37. PastaPastaPasta referenced this in commit 78689101b6 on Jun 27, 2021
  38. PastaPastaPasta referenced this in commit cee08f07f9 on Jun 28, 2021
  39. PastaPastaPasta referenced this in commit b42b81c126 on Jun 29, 2021
  40. PastaPastaPasta referenced this in commit 66f5ec5ad0 on Jul 1, 2021
  41. PastaPastaPasta referenced this in commit cebf240a66 on Jul 1, 2021
  42. PastaPastaPasta referenced this in commit ad8891a73c on Jul 12, 2021
  43. PastaPastaPasta referenced this in commit 7066614d6c on Jul 13, 2021
  44. DrahtBot locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me