Reland "Update gclient to use git config caching"
This reverts commitchanges/79/5280779/63569608028
. Reason for revert: This includes a fix for crbug.com/324358728. The rebase-update command has logic which tries to specifically set a key to an empty string and this has been intentionally set this way[1]. The new SetConfig implementation does treats empty string as None and hence tries to unset the config, resulting in error code 5. The patchset 2 fixes this bug and adds a test to ensure SetConfig can set an empty string to be backward compatible. [1] https://codereview.chromium.org/228353003 Original change's description: > Revert "Update gclient to use git config caching" > > This reverts commit3edda8d185
. > > Reason for revert: Breaks rebase-update; crbug.com/324358728 > > Original change's description: > > Update gclient to use git config caching > > > > This change updates all the modules used by gclient to use `scm.GIT` for git config calls over directly invoking the subprocess. > > > > This change currently doesn't modify git_cache since the config reads and writes within it are done on bare repository. A follow-up CL will update git_cache. > > > > A follow-up CL will also update git_cl and git_map_branches since they have shown performance improvements too: https://crrev.com/c/4697786. > > > > Benchmarking > > ============ > > With chromium/src as the baseline super project, this change reduces about 380 git config calls out of 507 total calls on cache hits during no-op. The below numbers are benchmarked with `update_depot_tools` turned off. > > > > Windows Benchmark > > ================= > > Baseline (gpaste/6360045736951808): ~1min 12 sec. > > With Caching (gpaste/6480065209040896): ~1min 3sec. > > ~12.5% decrease in gclient sync noop runtime. > > > > Linux Benchmark > > =============== > > Baseline (gpaste/4730436763254784): ~3.739 sec. > > With Caching (gpaste/4849870978940928): ~3.534 sec. > > ~5.5% decrease in gclient sync noop runtime. > > > > Bug: 1501984 > > Change-Id: Ib48df2d26a0c742a9b555a1e2ed6366221c7db17 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5252498 > > Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com> > > Reviewed-by: Josip Sokcevic <sokcevic@chromium.org> > > Bug: 1501984 > Change-Id: I4a603238d9ed43edafc8e574493800670520a1d9 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5279198 > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com> Bug: 1501984 Change-Id: I405abc16c2ef6f0689031c82c61af71aad302122 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5280779 Reviewed-by: Josip Sokcevic <sokcevic@chromium.org> Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
parent
2acd6f4c9d
commit
9f9bab25da
Loading…
Reference in New Issue