Skip to content

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

Merged
merged 2 commits into from
Jan 2, 2025

Conversation

Kobzol
Copy link
Contributor

@Kobzol Kobzol commented Dec 30, 2024

Mention our usage of josh in miri and rust-analyzer, and add the cranelift backend to the list.

@@ -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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Using `git subtree` directly
* Using `git subtree`

There's no "indirect" usage so I find the additional qualifier confusing

Copy link
Contributor Author

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.

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:
Copy link
Member

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.

Copy link
Contributor Author

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.

@jieyouxu jieyouxu added S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content A-josh Area: `josh` subtree sync labels Dec 30, 2024
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@jieyouxu jieyouxu merged commit 3fde151 into rust-lang:master Jan 2, 2025
1 check passed
@Kobzol Kobzol deleted the doc-subtree branch January 2, 2025 07:58
BoxyUwU pushed a commit to BoxyUwU/rustc-dev-guide that referenced this pull request Jan 4, 2025
Kobzol added a commit to Kobzol/rustc-dev-guide that referenced this pull request Jan 4, 2025
Kobzol added a commit to Kobzol/rustc-dev-guide that referenced this pull request Jan 5, 2025
Kobzol added a commit to Kobzol/rustc-dev-guide that referenced this pull request Jan 5, 2025
Kobzol added a commit to Kobzol/rustc-dev-guide that referenced this pull request Jan 5, 2025
@@ -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`
Copy link
Member

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?

Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-josh Area: `josh` subtree sync S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants