Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -103,16 +103,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