34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
|
This crate is regularly synced with its mirror in the rustc repo at `compiler/rustc_smir`.
|
||
|
|
||
|
We use `git subtree` for this to preserve commits and allow the rustc repo to
|
||
|
edit these crates without having to touch this repo. This keeps the crates compiling
|
||
|
while allowing us to independently work on them here. The effort of keeping them in
|
||
|
sync is pushed entirely onto us, without affecting rustc workflows negatively.
|
||
|
This may change in the future, but changes to policy should only be done via a
|
||
|
compiler team MCP.
|
||
|
|
||
|
## Instructions for syncing
|
||
|
|
||
|
### Updating this repository
|
||
|
|
||
|
In the rustc repo, execute
|
||
|
|
||
|
```
|
||
|
git subtree push --prefix=compiler/rustc_smir url_to_your_fork_of_project_stable_mir some_feature_branch
|
||
|
```
|
||
|
|
||
|
and then open a PR of your `some_feature_branch` against https://github.com/rust-lang/project-stable-mir
|
||
|
|
||
|
### Updating the rustc librar
|
||
|
|
||
|
|
||
|
In the rustc repo, execute
|
||
|
|
||
|
```
|
||
|
git subtree pull --prefix=compiler/rustc_smir https://github.com/rust-lang/project-stable-mir smir
|
||
|
```
|
||
|
|
||
|
Note: only ever sync to rustc from the project-stable-mir's `smir` branch. Do not sync with your own forks.
|
||
|
|
||
|
Then open a PR against rustc just like a regular PR.
|