From 4304b7b80ad954643e0477f5e2cbd04e9ed6c79f Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Mon, 21 Jul 2025 12:19:20 +0200 Subject: [PATCH 1/5] add rdg push git config entry for git protocol pushers (again) --- src/doc/rustc-dev-guide/src/external-repos.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/external-repos.md b/src/doc/rustc-dev-guide/src/external-repos.md index ecc65b26ab7a0..667cca317b944 100644 --- a/src/doc/rustc-dev-guide/src/external-repos.md +++ b/src/doc/rustc-dev-guide/src/external-repos.md @@ -80,6 +80,16 @@ switch to its repository checkout directory in your terminal). #### Performing push +> NOTE: +> If you use Git protocol to push to your fork of `rust-lang/rust`, +> ensure that you have this entry in your Git config, +> else the 2 steps that follow would prompt for a username and password: +> +> ``` +> [url "git@github.com:"] +> insteadOf = "https://github.com/" +> ``` + 1) Run the push command to create a branch named `` in a `rustc` fork under the `` account ``` rustc-josh-sync push From c8ef2117d7d3168ad576aac4053599c219c811f8 Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Mon, 21 Jul 2025 13:25:14 +0200 Subject: [PATCH 2/5] already documented elsewhere --- src/doc/rustc-dev-guide/src/external-repos.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/external-repos.md b/src/doc/rustc-dev-guide/src/external-repos.md index 667cca317b944..75774e345fb60 100644 --- a/src/doc/rustc-dev-guide/src/external-repos.md +++ b/src/doc/rustc-dev-guide/src/external-repos.md @@ -81,14 +81,7 @@ switch to its repository checkout directory in your terminal). #### Performing push > NOTE: -> If you use Git protocol to push to your fork of `rust-lang/rust`, -> ensure that you have this entry in your Git config, -> else the 2 steps that follow would prompt for a username and password: -> -> ``` -> [url "git@github.com:"] -> insteadOf = "https://github.com/" -> ``` +> Before you proceed, look at some guidance related to Git [on josh-sync README], 1) Run the push command to create a branch named `` in a `rustc` fork under the `` account ``` @@ -183,3 +176,4 @@ the week leading up to the beta cut. [Toolstate chapter]: https://forge.rust-lang.org/infra/toolstate.html [josh]: https://josh-project.github.io/josh/intro.html [josh-sync]: https://github.com/rust-lang/josh-sync +[on josh-sync README]: https://github.com/rust-lang/josh-sync#git-peculiarities From 9ae298c875c4c04b996950139339a16dfcdef73f Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Mon, 21 Jul 2025 13:55:55 +0200 Subject: [PATCH 3/5] typo --- src/doc/rustc-dev-guide/src/external-repos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/external-repos.md b/src/doc/rustc-dev-guide/src/external-repos.md index 75774e345fb60..44d4b5b4b38c7 100644 --- a/src/doc/rustc-dev-guide/src/external-repos.md +++ b/src/doc/rustc-dev-guide/src/external-repos.md @@ -81,7 +81,7 @@ switch to its repository checkout directory in your terminal). #### Performing push > NOTE: -> Before you proceed, look at some guidance related to Git [on josh-sync README], +> Before you proceed, look at some guidance related to Git [on josh-sync README]. 1) Run the push command to create a branch named `` in a `rustc` fork under the `` account ``` From 6c96e7a550c681ec9b44015cd7e991663c987003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Wed, 23 Jul 2025 09:42:33 +0200 Subject: [PATCH 4/5] Update josh sync documentation Now all our Josh subtrees should be using josh-sync. --- src/doc/rustc-dev-guide/src/external-repos.md | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/external-repos.md b/src/doc/rustc-dev-guide/src/external-repos.md index 44d4b5b4b38c7..5fb7eeee8e3b0 100644 --- a/src/doc/rustc-dev-guide/src/external-repos.md +++ b/src/doc/rustc-dev-guide/src/external-repos.md @@ -40,27 +40,24 @@ implement a new tool feature or test, that should happen in one collective rustc * `portable-simd` ([sync script](https://github.com/rust-lang/portable-simd/blob/master/subtree-sync.sh)) * `rustfmt` * `rustc_codegen_cranelift` ([sync script](https://github.com/rust-lang/rustc_codegen_cranelift/blob/113af154d459e41b3dc2c5d7d878e3d3a8f33c69/scripts/rustup.sh#L7)) -* Using the [josh] tool - * `miri` ([sync guide](https://github.com/rust-lang/miri/blob/master/CONTRIBUTING.md#advanced-topic-syncing-with-the-rustc-repo)) - * `rust-analyzer` ([sync script](https://github.com/rust-lang/rust-analyzer/blob/2e13684be123eca7181aa48e043e185d8044a84a/xtask/src/release.rs#L147)) - * `rustc-dev-guide` ([josh sync](#synchronizing-a-josh-subtree)) - * `compiler-builtins` ([josh sync](#synchronizing-a-josh-subtree)) - * `stdarch` ([josh sync](#synchronizing-a-josh-subtree)) +* Using the [josh](#synchronizing-a-josh-subtree) tool + * `miri` + * `rust-analyzer` + * `rustc-dev-guide` + * `compiler-builtins` + * `stdarch` ### Josh subtrees -The [josh] tool is an alternative to git subtrees, which manages git history in a different way and scales better to larger repositories. Specific tooling is required to work with josh; you can check out the `miri` or `rust-analyzer` scripts linked above for inspiration. We provide a helper [`rustc-josh-sync`][josh-sync] tool to help with the synchronization, described [below](#synchronizing-a-josh-subtree). +The [josh] tool is an alternative to git subtrees, which manages git history in a different way and scales better to larger repositories. Specific tooling is required to work with josh. We provide a helper [`rustc-josh-sync`][josh-sync] tool to help with the synchronization, described [below](#synchronizing-a-josh-subtree). ### Synchronizing a Josh subtree We use a dedicated tool called [`rustc-josh-sync`][josh-sync] for performing Josh subtree updates. -Currently, we are migrating Josh repositories to it. So far, it is used in: +The commands below can be used for all our Josh subtrees, although note that `miri` +requires you to perform some [additional steps](https://github.com/rust-lang/miri/blob/master/CONTRIBUTING.md#advanced-topic-syncing-with-the-rustc-repo) during pulls. -- compiler-builtins -- rustc-dev-guide -- stdarch - -To install the tool: +You can install the tool using the following command: ``` cargo install --locked --git https://github.com/rust-lang/josh-sync ``` From 11153451845ff40624a3887d6312e563951932b0 Mon Sep 17 00:00:00 2001 From: The rustc-josh-sync Cronjob Bot Date: Thu, 24 Jul 2025 04:15:31 +0000 Subject: [PATCH 5/5] Prepare for merging from rust-lang/rust This updates the rust-version file to efd420c770bb179537c01063e98cb6990c439654. --- src/doc/rustc-dev-guide/rust-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/rust-version b/src/doc/rustc-dev-guide/rust-version index f6b7efe51a12c..ce9f984e637b5 100644 --- a/src/doc/rustc-dev-guide/rust-version +++ b/src/doc/rustc-dev-guide/rust-version @@ -1 +1 @@ -460259d14de0274b97b8801e08cb2fe5f16fdac5 +efd420c770bb179537c01063e98cb6990c439654