Skip to content
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

Speed up noop registry updates with GitHub #2974

Merged
merged 1 commit into from
Aug 9, 2016
Merged

Conversation

alexcrichton
Copy link
Member

@alexcrichton alexcrichton commented Aug 8, 2016

This commit adds supports to registry index updates to use GitHub's HTTP API 1
which is purportedly 2 much faster than doing a git clone, and emprically that
appears to be the case.

This logic kicks in by looking at the URL of a registry's index, and if it looks
exactly like github.com/$user/$repo then we'll attempt to use GitHub's API,
otherwise we always fall back to a git update.

This behavior may slow down registry updates which actually need to download
information as an extra HTTP request is performed to figure out that we need to
perform a git fetch, but hopefully that won't actually be the case much of the
time!

Closes #2451

This commit adds supports to registry index updates to use GitHub's HTTP API [1]
which is purportedly [2] much faster than doing a git clone, and emprically that
appears to be the case.

This logic kicks in by looking at the URL of a registry's index, and if it looks
exactly like `github.com/$user/$repo` then we'll attempt to use GitHub's API,
otherwise we always fall back to a git update.

This behavior may *slow down* registry updates which actually need to download
information as an extra HTTP request is performed to figure out that we need to
perform a git fetch, but hopefully that won't actually be the case much of the
time!

[1]: https://developer.github.com/v3/repos/commits/#get-the-sha-1-of-a-commit-reference
[2]: https://developer.github.com/changes/2016-02-24-commit-reference-sha-api/
@rust-highfive
Copy link

@alexcrichton: no appropriate reviewer found, use r? to override

@alexcrichton
Copy link
Member Author

r? @brson

@brson brson added the relnotes Release-note worthy label Aug 9, 2016
@brson
Copy link
Contributor

brson commented Aug 9, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Aug 9, 2016

📌 Commit a9d108a has been approved by brson

@bors
Copy link
Contributor

bors commented Aug 9, 2016

⌛ Testing commit a9d108a with merge e958281...

bors added a commit that referenced this pull request Aug 9, 2016
Speed up noop registry updates with GitHub

This commit adds supports to registry index updates to use GitHub's HTTP API [1]
which is purportedly [2] much faster than doing a git clone, and emprically that
appears to be the case.

This logic kicks in by looking at the URL of a registry's index, and if it looks
exactly like `github.com/$user/$repo` then we'll attempt to use GitHub's API,
otherwise we always fall back to a git update.

This behavior may *slow down* registry updates which actually need to download
information as an extra HTTP request is performed to figure out that we need to
perform a git fetch, but hopefully that won't actually be the case much of the
time!

[1]: https://developer.github.com/v3/repos/commits/#get-the-sha-1-of-a-commit-reference
[2]: https://developer.github.com/changes/2016-02-24-commit-reference-sha-api/

Closes #2451
@bors
Copy link
Contributor

bors commented Aug 9, 2016

☀️ Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64
Approved by: brson
Pushing e958281 to master...

@bors bors merged commit a9d108a into rust-lang:master Aug 9, 2016
@alexcrichton alexcrichton deleted the etag branch August 9, 2016 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relnotes Release-note worthy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants