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

This comment has been minimized.

Copy link

rust-highfive commented Aug 8, 2016

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

@alexcrichton

This comment has been minimized.

Copy link
Member Author

alexcrichton commented Aug 8, 2016

r? @brson

@brson

This comment has been minimized.

Copy link
Contributor

brson commented Aug 9, 2016

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Aug 9, 2016

📌 Commit a9d108a has been approved by brson

@bors

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

bors commented Aug 9, 2016

@bors bors merged commit a9d108a into rust-lang:master Aug 9, 2016
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@alexcrichton alexcrichton deleted the alexcrichton:etag branch Aug 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.