Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Side by Side Diff: gclient_scm.py

Issue 518064: Check for the existence of git before running commands (Closed)
Patch Set: Fixed whitespace issues Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« gclient ('K') | « gclient ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Gclient-specific SCM-specific operations.""" 5 """Gclient-specific SCM-specific operations."""
6 6
7 import logging 7 import logging
8 import os 8 import os
9 import posixpath 9 import posixpath
10 import re 10 import re
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 # TODO(maruel): Merge with Capture? 279 # TODO(maruel): Merge with Capture?
280 if cwd is None: 280 if cwd is None:
281 cwd = self.checkout_path 281 cwd = self.checkout_path
282 stdout=None 282 stdout=None
283 if redirect_stdout: 283 if redirect_stdout:
284 stdout=subprocess.PIPE 284 stdout=subprocess.PIPE
285 if cwd == None: 285 if cwd == None:
286 cwd = self.checkout_path 286 cwd = self.checkout_path
287 cmd = [self.COMMAND] 287 cmd = [self.COMMAND]
288 cmd.extend(args) 288 cmd.extend(args)
289 sp = subprocess.Popen(cmd, cwd=cwd, stdout=stdout) 289 logging.debug(cmd)
290 output = sp.communicate()[0] 290 try:
291 sp = subprocess.Popen(cmd, cwd=cwd, stdout=stdout)
292 output = sp.communicate()[0]
293 except OSError:
294 raise gclient_utils.Error("git command '%s' failed to run." %
295 ' '.join(cmd) + "\nCheck that you have git installed.")
291 if checkrc and sp.returncode: 296 if checkrc and sp.returncode:
292 raise gclient_utils.Error('git command %s returned %d' % 297 raise gclient_utils.Error('git command %s returned %d' %
293 (args[0], sp.returncode)) 298 (args[0], sp.returncode))
294 if output is not None: 299 if output is not None:
295 return output.strip() 300 return output.strip()
296 301
297 302
298 class SVNWrapper(SCMWrapper, scm.SVN): 303 class SVNWrapper(SCMWrapper, scm.SVN):
299 """ Wrapper for SVN """ 304 """ Wrapper for SVN """
300 305
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 command = ['status'] 521 command = ['status']
517 command.extend(args) 522 command.extend(args)
518 if not os.path.isdir(path): 523 if not os.path.isdir(path):
519 # svn status won't work if the directory doesn't exist. 524 # svn status won't work if the directory doesn't exist.
520 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory " 525 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory "
521 "does not exist." 526 "does not exist."
522 % (' '.join(command), path)) 527 % (' '.join(command), path))
523 # There's no file list to retrieve. 528 # There's no file list to retrieve.
524 else: 529 else:
525 self.RunAndGetFileList(options, command, path, file_list) 530 self.RunAndGetFileList(options, command, path, file_list)
OLDNEW
« gclient ('K') | « gclient ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698