Add a git cache for gclient sync operations.
Instead of cloning straight into place, clones are made to a global cache dir, and then local (using --shared) clones are made from the cache to the final resting place. This means the 'final' clones are full repos with no shenanigans, meaning that branches, commits, etc. all work, which should allow the rest of the gclient ecosystem to work without change as well. The primary benefit is, of course, reduced network IO, and a much lower cost for 'clobber' operations (assuming we don't clobber the cache). It also means that a given bot can have a greater number of checkouts, since the entire git history will only be stored once per machine, instead of once per checkout. R=dpranke@chromium.org, szager@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/18328003 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210024 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please
register
or
sign in
to comment