Chromium Code Reviews| OLD | NEW | 
|---|---|
| (Empty) | |
| 1 #!/usr/bin/python | |
| 
 
M-A Ruel
2011/03/11 14:42:52
You need to delete this file later, as older clien
 
 | |
| 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | |
| 3 # Use of this source code is governed by a BSD-style license that can be | |
| 4 # found in the LICENSE file. | |
| 5 | |
| 6 import os | |
| 7 import sys | |
| 8 from subprocess import Popen, PIPE | |
| 9 | |
| 10 # Try locating depot_tools from the user's PATH. | |
| 11 depot_tools_path = None | |
| 12 | |
| 13 # First parse PATH if there's a "depot_tools" inside | |
| 14 for path in os.environ.get("PATH").split(os.pathsep): | |
| 15 if not path.endswith("depot_tools") and not path.endswith("depot_tools/"): | |
| 16 continue | |
| 17 depot_tools_path = path | |
| 18 break | |
| 19 | |
| 20 # If depot_tools dir is not called depot_tools, or other weirdness | |
| 21 if not depot_tools_path: | |
| 22 # Grab a `which gclient', which gives first match | |
| 23 # `which' also uses PATH, but is not restricted to specific directory name | |
| 24 path = Popen(["which", "gclient"], stdout=PIPE).communicate()[0].strip() | |
| 25 if path: | |
| 26 depot_tools_path = path.replace("/gclient","") | |
| 27 | |
| 28 # If we found depot_tools, add it to the script's import path. | |
| 29 # Use realpath to normalize the actual path | |
| 30 if depot_tools_path: | |
| 31 sys.path.insert(0, os.path.realpath(depot_tools_path)) | |
| 32 else: | |
| 33 print "ERROR: Could not find depot_tools in your PATH." | |
| 34 print "ERROR: Please add it to your PATH and try again." | |
| 35 sys.exit(1) | |
| 36 | |
| 37 # Try importing git_cl_hooks from depot_tools. | |
| 38 try: | |
| 39 import git_cl_hooks | |
| 40 except ImportError: | |
| 41 print "ERROR: Could not import git_cl_hooks from depot_tools in your PATH." | |
| 42 print "ERROR: Make sure %s is up-to-date and try again." % depot_tools_path | |
| 43 sys.exit(1) | |
| 44 | |
| 45 # Ensure we were called with the necessary number of arguments. | |
| 46 program_name = os.path.basename(sys.argv[0]) | |
| 47 if len(sys.argv) != 2: | |
| 48 print "usage: %s [upstream branch]" % program_name | |
| 49 sys.exit(1) | |
| 50 | |
| 51 # Run the hooks library with our arguments. | |
| 52 exec git_cl_hooks.RunHooks(hook_name=program_name, upstream_branch=sys.argv[1]) | |
| OLD | NEW |