mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 21:23:56 +00:00
Auto merge of #6150 - flip1995:backport_doc_update, r=ebroto
Update backport documentation to the subtree workflow changelog: none
This commit is contained in:
commit
fcf22d90bb
1 changed files with 34 additions and 13 deletions
|
@ -5,7 +5,7 @@ Backports in Clippy are rare and should be approved by the Clippy team. For
|
|||
example, a backport is done, if a crucial ICE was fixed or a lint is broken to a
|
||||
point, that it has to be disabled, before landing on stable.
|
||||
|
||||
Backports are done to the `beta` release of Clippy. Backports to stable Clippy
|
||||
Backports are done to the `beta` branch of Clippy. Backports to stable Clippy
|
||||
releases basically don't exist, since this would require a Rust point release,
|
||||
which is almost never justifiable for a Clippy fix.
|
||||
|
||||
|
@ -18,7 +18,31 @@ Backports are done on the beta branch of the Clippy repository.
|
|||
# Assuming the current directory corresponds to the Clippy repository
|
||||
$ git checkout beta
|
||||
$ git checkout -b backport
|
||||
$ git cherry-pick <SHA> # `<SHA>` is the commit hash of the commit, that should be backported
|
||||
$ git cherry-pick <SHA> # `<SHA>` is the commit hash of the commit(s), that should be backported
|
||||
$ git push origin backport
|
||||
```
|
||||
|
||||
Now you should test that the backport passes all the tests in the Rust
|
||||
repository. You can do this with:
|
||||
|
||||
```bash
|
||||
# Assuming the current directory corresponds to the Rust repository
|
||||
$ git checkout beta
|
||||
$ git subtree pull -p src/tools/clippy https://github.com/<your-github-name>/rust-clippy backport
|
||||
$ ./x.py test src/tools/clippy
|
||||
```
|
||||
|
||||
Should the test fail, you can fix Clippy directly in the Rust repository. This
|
||||
has to be first applied to the Clippy beta branch and then again synced to the
|
||||
Rust repository, though. The easiest way to do this is:
|
||||
|
||||
```bash
|
||||
# In the Rust repository
|
||||
$ git diff --patch --relative=src/tools/clippy > clippy.patch
|
||||
# In the Clippy repository
|
||||
$ git apply /path/to/clippy.patch
|
||||
$ git add -u
|
||||
$ git commit -m "Fix rustup fallout"
|
||||
$ git push origin backport
|
||||
```
|
||||
|
||||
|
@ -29,22 +53,19 @@ After this, you can open a PR to the `beta` branch of the Clippy repository.
|
|||
|
||||
This step must be done, **after** the PR of the previous step was merged.
|
||||
|
||||
After the backport landed in the Clippy repository, also the Clippy version on
|
||||
the Rust `beta` branch has to be updated.
|
||||
After the backport landed in the Clippy repository, the branch has to be synced
|
||||
back to the beta branch of the Rust repository.
|
||||
|
||||
```bash
|
||||
# Assuming the current directory corresponds to the Rust repository
|
||||
$ git checkout beta
|
||||
$ git checkout -b clippy_backport
|
||||
$ pushd src/tools/clippy
|
||||
$ git fetch
|
||||
$ git checkout beta
|
||||
$ popd
|
||||
$ git add src/tools/clippy
|
||||
§ git commit -m "Update Clippy"
|
||||
$ git subtree pull -p src/tools/clippy https://github.com/rust-lang/rust-clippy beta
|
||||
$ git push origin clippy_backport
|
||||
```
|
||||
|
||||
After this you can open a PR to the `beta` branch of the Rust repository. In
|
||||
this PR you should tag the Clippy team member, that agreed to the backport or
|
||||
the `@rust-lang/clippy` team. Make sure to add `[beta]` to the title of the PR.
|
||||
Make sure to test the backport in the Rust repository before opening a PR. This
|
||||
is done with `./x.py test src/tools/clippy`. If that passes all tests, open a PR
|
||||
to the `beta` branch of the Rust repository. In this PR you should tag the
|
||||
Clippy team member, that agreed to the backport or the `@rust-lang/clippy` team.
|
||||
Make sure to add `[beta]` to the title of the PR.
|
||||
|
|
Loading…
Reference in a new issue