Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Jun 5, 2019

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.

@fanquake fanquake added the Docs label Jun 5, 2019
@maflcko maflcko changed the title doc: Rework section on ACK doc: Rework section on ACK in CONTRIBUTING.md Jun 5, 2019
@laanwj
Copy link
Member

laanwj commented Jun 5, 2019

utACK

Copy link
Contributor

@promag promag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

request",
* or `NACK`, including a rationale why they think the change is or is not
worthwile. NACKs without accompanying reasoning may be disregarded.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, reverted back

@morcos
Copy link
Contributor

morcos commented Jun 5, 2019

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.

@maflcko
Copy link
Member Author

maflcko commented Jun 5, 2019

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.

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fabddde

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.

maintainers take into account the peer review when determining if there is
consensus to merge a pull request (remember that discussions may have been
spread out over GitHub, mailing list and IRC discussions). The following
spread out over GitHub, mailing list and IRC discussions).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@maflcko
Copy link
Member Author

maflcko commented Jun 11, 2019

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

@ajtowns
Copy link
Contributor

ajtowns commented Jun 12, 2019

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

@moneyball
Copy link
Contributor

ACK fac5ddf

@maflcko maflcko added this to the 0.19.0 milestone Jun 14, 2019
@michaelfolkson
Copy link

michaelfolkson commented Jun 16, 2019

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?

maflcko pushed a commit to maflcko/bitcoin-core that referenced this pull request Jun 16, 2019
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
@maflcko maflcko merged commit fac5ddf into bitcoin:master Jun 16, 2019
@moneyball
Copy link
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.

Copy link
Member

@jonatack jonatack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Post-merge review. Cheers.

#### Conceptual Review

A review can be a conceptual review, where the reviewer leaves a comment
* `Concept (N)ACK`, meaning "I do (not) agree in the general goal of this pull
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/in/with/


#### Code Review

After conceptual agreement on the change, code review can be provided. It is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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


After conceptual agreement on the change, code review can be provided. It is
starting with `ACK BRANCH_COMMIT`, where `BRANCH_COMMIT` is the top of the
topic branch. The review is followed by a description of how the reviewer did
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

the review. The following
language is used within pull-request comments:

- (t)ACK means "I have tested the code and I agree it should be merged", involving
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 27, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 28, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 29, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 12, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 13, 2021
fac5ddf doc: Rework section on ACK (MarcoFalke)

Pull request description:

  `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`.

ACKs for commit fac5dd:
  moneyball:
    ACK fac5ddf

Tree-SHA512: 29177e8d96aeba055b5cad6d99be3ca1be0c61af0fdc90f70a3136872c9ad6201a02f63fbac78b90b8a56b4c06af304f2583d52a94fdd954fdcc7ad0552b9ef8
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.