| Index: scm.py
|
| diff --git a/scm.py b/scm.py
|
| index 09871778f837912649d13f2c9bd5bedeace276b1..ae765f0cd05b106ffc6532236574328ac625cb4f 100644
|
| --- a/scm.py
|
| +++ b/scm.py
|
| @@ -117,38 +117,9 @@ class GIT(object):
|
| return results
|
|
|
| @staticmethod
|
| - def RunAndFilterOutput(args,
|
| - in_directory,
|
| - print_messages,
|
| - print_stdout,
|
| - filter_fn,
|
| - stdout=None):
|
| - """Runs a command, optionally outputting to stdout.
|
| -
|
| - stdout is passed line-by-line to the given filter_fn function. If
|
| - print_stdout is true, it is also printed to sys.stdout as in Run.
|
| -
|
| - Args:
|
| - args: A sequence of command line parameters to be passed.
|
| - in_directory: The directory where git is to be run.
|
| - print_messages: Whether to print status messages to stdout about
|
| - which commands are being run.
|
| - print_stdout: Whether to forward program's output to stdout.
|
| - filter_fn: A function taking one argument (a string) which will be
|
| - passed each line (with the ending newline character removed) of
|
| - program's output for filtering.
|
| -
|
| - Raises:
|
| - gclient_utils.Error: An error occurred while running the command.
|
| - """
|
| - command = [GIT.COMMAND]
|
| - command.extend(args)
|
| - gclient_utils.SubprocessCallAndFilter(command,
|
| - in_directory,
|
| - print_messages,
|
| - print_stdout,
|
| - filter_fn=filter_fn,
|
| - stdout=stdout)
|
| + def RunAndFilterOutput(args, **kwargs):
|
| + """Wrapper to gclient_utils.SubprocessCallAndFilter()."""
|
| + return gclient_utils.SubprocessCallAndFilter([GIT.COMMAND] + args, **kwargs)
|
|
|
| @staticmethod
|
| def GetEmail(repo_root):
|
| @@ -345,20 +316,9 @@ class SVN(object):
|
| current_version = None
|
|
|
| @staticmethod
|
| - def Run(args, in_directory):
|
| - """Runs svn, sending output to stdout.
|
| -
|
| - Args:
|
| - args: A sequence of command line parameters to be passed to svn.
|
| - in_directory: The directory where svn is to be run.
|
| -
|
| - Raises:
|
| - Error: An error occurred while running the svn command.
|
| - """
|
| - c = [SVN.COMMAND]
|
| - c.extend(args)
|
| - # TODO(maruel): This is very gclient-specific.
|
| - gclient_utils.SubprocessCall(c, in_directory)
|
| + def Run(args, **kwargs):
|
| + """Wrappers to gclient_utils.SubprocessCall()."""
|
| + return gclient_utils.SubprocessCall([SVN.COMMAND] + args, **kwargs)
|
|
|
| @staticmethod
|
| def Capture(args, in_directory=None, print_error=True):
|
| @@ -380,7 +340,7 @@ class SVN(object):
|
| stderr=stderr).communicate()[0]
|
|
|
| @staticmethod
|
| - def RunAndGetFileList(verbose, args, in_directory, file_list, stdout=None):
|
| + def RunAndGetFileList(verbose, args, cwd, file_list, stdout=None):
|
| """Runs svn checkout, update, or status, output to stdout.
|
|
|
| The first item in args must be either "checkout", "update", or "status".
|
| @@ -392,13 +352,12 @@ class SVN(object):
|
| Args:
|
| verbose: If True, uses verbose output
|
| args: A sequence of command line parameters to be passed to svn.
|
| - in_directory: The directory where svn is to be run.
|
| + cwd: The directory where svn is to be run.
|
|
|
| Raises:
|
| Error: An error occurred while running the svn command.
|
| """
|
| - command = [SVN.COMMAND]
|
| - command.extend(args)
|
| + stdout = stdout or sys.stdout
|
|
|
| # svn update and svn checkout use the same pattern: the first three columns
|
| # are for file status, property status, and lock status. This is followed
|
| @@ -434,11 +393,9 @@ class SVN(object):
|
| failure.append(line)
|
|
|
| try:
|
| - SVN.RunAndFilterOutput(args,
|
| - in_directory,
|
| - verbose,
|
| - True,
|
| - CaptureMatchingLines,
|
| + SVN.RunAndFilterOutput(args, cwd=cwd, print_messages=verbose,
|
| + print_stdout=True,
|
| + filter_fn=CaptureMatchingLines,
|
| stdout=stdout)
|
| except gclient_utils.Error:
|
| def IsKnownFailure():
|
| @@ -481,38 +438,9 @@ class SVN(object):
|
| break
|
|
|
| @staticmethod
|
| - def RunAndFilterOutput(args,
|
| - in_directory,
|
| - print_messages,
|
| - print_stdout,
|
| - filter_fn,
|
| - stdout=None):
|
| - """Runs a command, optionally outputting to stdout.
|
| -
|
| - stdout is passed line-by-line to the given filter_fn function. If
|
| - print_stdout is true, it is also printed to sys.stdout as in Run.
|
| -
|
| - Args:
|
| - args: A sequence of command line parameters to be passed.
|
| - in_directory: The directory where svn is to be run.
|
| - print_messages: Whether to print status messages to stdout about
|
| - which commands are being run.
|
| - print_stdout: Whether to forward program's output to stdout.
|
| - filter_fn: A function taking one argument (a string) which will be
|
| - passed each line (with the ending newline character removed) of
|
| - program's output for filtering.
|
| -
|
| - Raises:
|
| - gclient_utils.Error: An error occurred while running the command.
|
| - """
|
| - command = [SVN.COMMAND]
|
| - command.extend(args)
|
| - gclient_utils.SubprocessCallAndFilter(command,
|
| - in_directory,
|
| - print_messages,
|
| - print_stdout,
|
| - filter_fn=filter_fn,
|
| - stdout=stdout)
|
| + def RunAndFilterOutput(args, **kwargs):
|
| + """Wrapper for gclient_utils.SubprocessCallAndFilter()."""
|
| + return gclient_utils.SubprocessCallAndFilter([SVN.COMMAND] + args, **kwargs)
|
|
|
| @staticmethod
|
| def CaptureInfo(relpath, in_directory=None, print_error=True):
|
|
|