Chromium Code Reviews| Index: tools/git-sync-deps |
| diff --git a/tools/git-sync-deps b/tools/git-sync-deps |
| index 1d626d066ccf9c6f55912fd845bd330471a9c448..92b329066a73c5312dad4e05ebba2cd20bf83926 100755 |
| --- a/tools/git-sync-deps |
| +++ b/tools/git-sync-deps |
| @@ -133,6 +133,16 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): |
| sys.stdout.write('%s\n SYNC IS DISABLED.\n' % directory) |
| return |
| + try: |
| + # if this succeeds, skip slow `git fetch`. |
| + subprocess.check_call( |
|
mtklein
2015/11/03 17:29:29
if 0 == subprocess.call(...):
if verbose:
..
hal.canary
2015/11/03 17:35:15
done
|
| + [git, 'checkout', '--quiet', checkoutable], cwd=directory) |
| + if verbose: |
| + sys.stdout.write('%s\n @ %s\n' % (directory, checkoutable)) |
| + return |
| + except subprocess.CalledProcessError: |
| + pass |
| + |
| subprocess.check_call([git, 'fetch', '--quiet'], cwd=directory) |
| subprocess.check_call( |
| @@ -176,7 +186,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) |