Skip to content

Commit 589573c

Browse files
committed
Document fetch.prunetags = true gotcha during rustc-pull
1 parent 132407e commit 589573c

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

README.md

+13
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ cargo +stable install josh-proxy --git https://github.com/josh-project/josh --ta
8282
Older versions of `josh-proxy` may not round trip commits losslessly so it is important to install this exact version.
8383

8484
### Pull changes from `rust-lang/rust` into this repository
85+
8586
1) Checkout a new branch that will be used to create a PR into `rust-lang/rustc-dev-guide`
8687
2) Run the pull command
8788
```
@@ -95,3 +96,15 @@ Older versions of `josh-proxy` may not round trip commits losslessly so it is im
9596
$ cargo run --manifest-path josh-sync/Cargo.toml rustc-push <branch-name> <gh-username>
9697
```
9798
2) Create a PR from `<branch-name>` into `rust-lang/rust`
99+
100+
#### Minimal git config
101+
102+
For simplicity (ease of implementation purposes), the josh-sync script simply calls out to system git. This means that the git invocation may be influenced by global (or local) git configuration.
103+
104+
You may observe "Nothing to pull" even if you *know* rustc-pull has something to pull if your global git config sets `fetch.prunetags = true` (and possibly other configurations may cause unexpected outcomes).
105+
106+
To minimize the likelihood of this happening, you may wish to keep a separate *minimal* git config that *only* has `[user]` entries from global git config, then repoint system git to use the minimal git config instead. E.g.
107+
108+
```
109+
$ GIT_CONFIG_GLOBAL=/path/to/minimal/gitconfig GIT_CONFIG_SYSTEM='' cargo +stable run --manifest-path josh-sync/Cargo.toml -- rustc-pull
110+
```

0 commit comments

Comments
 (0)