Skip to content

Speed up noop registry updates with GitHub#2974

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:etag
Aug 9, 2016
Merged

Speed up noop registry updates with GitHub#2974
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:etag

Conversation

@alexcrichton

@alexcrichton alexcrichton commented Aug 8, 2016

Copy link
Copy Markdown
Member

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
Copy Markdown

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

@alexcrichton

Copy link
Copy Markdown
Member Author

r? @brson

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

brson commented Aug 9, 2016

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Aug 9, 2016

Copy link
Copy Markdown
Contributor

📌 Commit a9d108a has been approved by brson

@bors

bors commented Aug 9, 2016

Copy link
Copy Markdown
Contributor

⌛ 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

bors commented Aug 9, 2016

Copy link
Copy Markdown
Contributor

☀️ 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