Skip to content

Commit

Permalink
doc: add suggestion to use --3way
Browse files Browse the repository at this point in the history
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: #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>
  • Loading branch information
mhdawson authored and MylesBorins committed May 18, 2017
1 parent 32425be commit 928382d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
12 changes: 12 additions & 0 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,18 @@ Apply external patches
$ 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

```text
Expand Down
10 changes: 0 additions & 10 deletions doc/onboarding-extras.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,6 @@ to update from nodejs/node:
* `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

* commit often, out to your github fork (origin), open a PR
Expand Down

0 comments on commit 928382d

Please sign in to comment.