Add experimental support for python in 'git cl format'
Based on yapf (https://github.com/google/yapf) this
formatter currently only works with --full. It defaults
to pep8 style and projects that use a different style
can add .style.yapf to the top level.
Review URL: https://codereview.chromium.org/1156743008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295547 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_utils.py b/gclient_utils.py
index fbcbc26..21c44c3 100644
--- a/gclient_utils.py
+++ b/gclient_utils.py
@@ -698,6 +698,8 @@
return override
primary_solution = GetPrimarySolutionPath()
+ if not primary_solution:
+ return None
buildtools_path = os.path.join(primary_solution, 'buildtools')
if not os.path.exists(buildtools_path):
# Buildtools may be in the gclient root.
@@ -1171,6 +1173,7 @@
logging.debug('Failed to get CPU count. Defaulting to 1.')
return 1
+
def DefaultDeltaBaseCacheLimit():
"""Return a reasonable default for the git config core.deltaBaseCacheLimit.
@@ -1183,6 +1186,7 @@
else:
return '512m'
+
def DefaultIndexPackConfig(url=''):
"""Return reasonable default values for configuring git-index-pack.
@@ -1193,3 +1197,21 @@
if url in THREADED_INDEX_PACK_BLACKLIST:
result.extend(['-c', 'pack.threads=1'])
return result
+
+
+def FindExecutable(executable):
+ """This mimics the "which" utility."""
+ path_folders = os.environ.get('PATH').split(os.pathsep)
+
+ for path_folder in path_folders:
+ target = os.path.join(path_folder, executable)
+ # Just incase we have some ~/blah paths.
+ target = os.path.abspath(os.path.expanduser(target))
+ if os.path.isfile(target) and os.access(target, os.X_OK):
+ return target
+ if sys.platform.startswith('win'):
+ for suffix in ('.bat', '.cmd', '.exe'):
+ alt_target = target + suffix
+ if os.path.isfile(alt_target) and os.access(alt_target, os.X_OK):
+ return alt_target
+ return None