Browse Source

doc: add suggestion to use --3way

The CI seems to do a 3way merge so it is possible
that even though the CI passed, the existing git am command
may fail.  Add text to suggest how to handle this
by adding the --3way option.

PR-URL: https://github.com/nodejs/node/pull/12510
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
v6.x
Michael Dawson 8 years ago
committed by Myles Borins
parent
commit
928382d957
No known key found for this signature in database GPG Key ID: 933B01F40B5CA946
  1. 12
      COLLABORATOR_GUIDE.md
  2. 10
      doc/onboarding-extras.md

12
COLLABORATOR_GUIDE.md

@ -372,6 +372,18 @@ Apply external patches
$ curl -L https://github.com/nodejs/node/pull/xxx.patch | git am --whitespace=fix $ curl -L https://github.com/nodejs/node/pull/xxx.patch | git am --whitespace=fix
``` ```
If the merge fails even though recent CI runs were successful, then a 3-way merge may
be required. In this case try:
```text
$ git am --abort
$ curl -L https://github.com/nodejs/node/pull/xxx.patch | git am -3 --whitespace=fix
```
If the 3-way merge succeeds you can proceed, but make sure to check the changes
against the original PR carefully and build/test on at least one platform
before landing. If the 3-way merge fails, then it is most likely that a conflicting
PR has landed since the CI run and you will have to ask the author to rebase.
Check and re-review the changes Check and re-review the changes
```text ```text

10
doc/onboarding-extras.md

@ -101,16 +101,6 @@ to update from nodejs/node:
* `git merge --ff-only upstream/master` (or `REMOTENAME/BRANCH`) * `git merge --ff-only upstream/master` (or `REMOTENAME/BRANCH`)
## If `git am` fails
* if `git am` fails – use `git am --abort`
* this usually means the PR needs updated
* prefer to make the originating user update the code, since they have it fresh in mind
* first, reattempt with `git am -3` (3-way merge)`
* if `-3` still fails, and you need to get it merged:
* `git fetch upstream pull/N/head:pr-N && git checkout pr-N && git rebase master`
## best practices ## best practices
* commit often, out to your github fork (origin), open a PR * commit often, out to your github fork (origin), open a PR

Loading…
Cancel
Save