-
Notifications
You must be signed in to change notification settings - Fork 543
Document josh subtrees and update subtree repository list #2182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
src/external-repos.md
Outdated
@@ -29,6 +28,20 @@ to these tools should be filed against the tools directly in their respective | |||
upstream repositories. The exception is that when rustc changes are required to | |||
implement a new tool feature or test, that should happen in one collective rustc PR. | |||
|
|||
`subtree` dependencies are currently managed by two distinct approaches: | |||
|
|||
* Using `git subtree` directly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Using `git subtree` directly | |
* Using `git subtree` |
There's no "indirect" usage so I find the additional qualifier confusing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to distinguish "using subtrees via josh" and "using subtrees via git subtree", but the word was extraneous, I suppose. Removed it.
src/external-repos.md
Outdated
3. As a git submodule (e.g. `cargo`) | ||
|
||
As a general rule, use crates.io for libraries that could be useful for others in the ecosystem; use | ||
subtrees for tools that depend on compiler internals and need to be updated if there are breaking | ||
changes; and use submodules for tools that are independent of the compiler. | ||
|
||
## External Dependencies (subtree) | ||
## External Dependencies (subtrees) | ||
|
||
As a developer to this repository, you don't have to treat the following external projects | ||
differently from other crates that are directly in this repo: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not quite true, tools generally prefer PRs to their own repos when changes don't have to be done in lockstep with Rust compiler changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was pre-existing, but I agree it was confusing, I reworded it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@@ -29,6 +27,20 @@ to these tools should be filed against the tools directly in their respective | |||
upstream repositories. The exception is that when rustc changes are required to | |||
implement a new tool feature or test, that should happen in one collective rustc PR. | |||
|
|||
`subtree` dependencies are currently managed by two distinct approaches: | |||
|
|||
* Using `git subtree` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
portable-simd also uses this; it seems to be entirely missing from this list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list was incomplete before, I added a few entries, but since there was no global list before that, I didn't notice portable-simd. Good catch! Added it in #2214.
Mention our usage of josh in
miri
andrust-analyzer
, and add the cranelift backend to the list.