mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
When we added -reuse in CL 411398, we only handled Git repos. This was partly because we were focused on Git traffic, partly because Git is the dominant module VCS, and partly because I couldn't see how to retrieve the metadata needed in other version control systems. This CL adds -reuse support for Mercurial, the second most popular VCS for modules, now that I see how to implement it. Although the Mercurial command line does not have sufficient information, the Mercurial Python API does, so we ship and invoke a Mercurial extension written in Python that can compute a hash of the remote repo without downloading it entirely, as well as resolve a remote name to a hash or check the continued existence of a hash. Then we can avoid downloading the repo at all if it hasn't changed since the last check or if the specific reference we need still resolves or exists. Fixes #75119. Change-Id: Ia47d89b15c1091c44efef9d325270fc400a412c4 Reviewed-on: https://go-review.googlesource.com/c/go/+/718382 Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> |
||
|---|---|---|
| .. | ||
| goreposum.py | ||