From 6aff54c32283614dc5d5acde82aef6919bc166da Mon Sep 17 00:00:00 2001 From: halcanary Date: Tue, 3 Nov 2015 09:50:03 -0800 Subject: tools/git-sync-deps: speed up common case by skipping fetch Review URL: https://codereview.chromium.org/1431713002 --- tools/git-sync-deps | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tools/git-sync-deps') diff --git a/tools/git-sync-deps b/tools/git-sync-deps index 1d626d066c..92adf4e855 100755 --- a/tools/git-sync-deps +++ b/tools/git-sync-deps @@ -133,6 +133,13 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): sys.stdout.write('%s\n SYNC IS DISABLED.\n' % directory) return + if 0 == subprocess.call( + [git, 'checkout', '--quiet', checkoutable], cwd=directory): + # if this succeeds, skip slow `git fetch`. + if verbose: + sys.stdout.write('%s\n @ %s\n' % (directory, checkoutable)) + return + subprocess.check_call([git, 'fetch', '--quiet'], cwd=directory) subprocess.check_call( @@ -176,7 +183,7 @@ def git_sync_deps(deps_file_path, command_line_os_requests, verbose): if '@' in dependencies[directory]: repo, checkoutable = dependencies[directory].split('@', 1) else: - repo, checkoutable = dependencies[directory], 'origin/master' + raise Exception("please specify commit or tag") relative_directory = os.path.join(deps_file_directory, directory) -- cgit v1.2.3