Commit 1a77f1dc authored by dpranke@google.com's avatar dpranke@google.com

Modify the output of gclient update, gclient status to only print out

messages when --verbose is specified or when something actually happens.

Also, remove --manually_grab_svn_rev, because we need this to happen all 
the time to get gclient update to shut up if we're comparing against HEAD.
It doesn't look like there are any real side effects of removing this.

An alternative change would be to wrap this behind a --quiet flag.

Note that the change to tests/trychange_unittest.py is an unrelated fix to get
all the tests to pass.

  R=maruel@chromium.org
  TEST=none
  BUG=none

Review URL: http://codereview.chromium.org/257023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28039 0039d316-1c4b-4281-b951-d872f2087c98
parent e2d29c88
...@@ -892,7 +892,6 @@ def DoCleanup(options, args): ...@@ -892,7 +892,6 @@ def DoCleanup(options, args):
# Print out the .gclient file. This is longer than if we just printed the # Print out the .gclient file. This is longer than if we just printed the
# client dict, but more legible, and it might contain helpful comments. # client dict, but more legible, and it might contain helpful comments.
print(client.ConfigContent()) print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('cleanup', args) return client.RunOnDeps('cleanup', args)
...@@ -971,7 +970,6 @@ def DoPack(options, args): ...@@ -971,7 +970,6 @@ def DoPack(options, args):
# Print out the .gclient file. This is longer than if we just printed the # Print out the .gclient file. This is longer than if we just printed the
# client dict, but more legible, and it might contain helpful comments. # client dict, but more legible, and it might contain helpful comments.
print(client.ConfigContent()) print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('pack', args) return client.RunOnDeps('pack', args)
...@@ -988,7 +986,6 @@ def DoStatus(options, args): ...@@ -988,7 +986,6 @@ def DoStatus(options, args):
# Print out the .gclient file. This is longer than if we just printed the # Print out the .gclient file. This is longer than if we just printed the
# client dict, but more legible, and it might contain helpful comments. # client dict, but more legible, and it might contain helpful comments.
print(client.ConfigContent()) print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('status', args) return client.RunOnDeps('status', args)
...@@ -1043,7 +1040,6 @@ def DoDiff(options, args): ...@@ -1043,7 +1040,6 @@ def DoDiff(options, args):
# Print out the .gclient file. This is longer than if we just printed the # Print out the .gclient file. This is longer than if we just printed the
# client dict, but more legible, and it might contain helpful comments. # client dict, but more legible, and it might contain helpful comments.
print(client.ConfigContent()) print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('diff', args) return client.RunOnDeps('diff', args)
...@@ -1143,10 +1139,6 @@ def Main(argv): ...@@ -1143,10 +1139,6 @@ def Main(argv):
"containing the provided string")) "containing the provided string"))
option_parser.add_option("", "--verbose", action="store_true", default=False, option_parser.add_option("", "--verbose", action="store_true", default=False,
help="produce additional output for diagnostics") help="produce additional output for diagnostics")
option_parser.add_option("", "--manually_grab_svn_rev", action="store_true",
default=False,
help="Skip svn up whenever possible by requesting "
"actual HEAD revision from the repository")
option_parser.add_option("", "--head", action="store_true", default=False, option_parser.add_option("", "--head", action="store_true", default=False,
help=("skips any safesync_urls specified in " help=("skips any safesync_urls specified in "
"configured solutions")) "configured solutions"))
......
...@@ -250,7 +250,7 @@ class SVNWrapper(SCMWrapper): ...@@ -250,7 +250,7 @@ class SVNWrapper(SCMWrapper):
command = ['checkout', url, checkout_path] command = ['checkout', url, checkout_path]
if revision: if revision:
command.extend(['--revision', str(revision)]) command.extend(['--revision', str(revision)])
RunSVNAndGetFileList(command, self._root_dir, file_list) RunSVNAndGetFileList(options, command, self._root_dir, file_list)
return return
# Get the existing scm url and the revision number of the current checkout. # Get the existing scm url and the revision number of the current checkout.
...@@ -261,12 +261,12 @@ class SVNWrapper(SCMWrapper): ...@@ -261,12 +261,12 @@ class SVNWrapper(SCMWrapper):
"and try again." % "and try again." %
checkout_path) checkout_path)
if options.manually_grab_svn_rev:
# Retrieve the current HEAD version because svn is slow at null updates. # Retrieve the current HEAD version because svn is slow at null updates.
if not revision: if not revision:
from_info_live = CaptureSVNInfo(from_info['URL'], '.') from_info_live = CaptureSVNInfo(from_info['URL'], '.')
revision = str(from_info_live['Revision']) revision = str(from_info_live['Revision'])
rev_str = ' at %s' % revision rev_str = ' at %s' % revision
forced_revision = True
if from_info['URL'] != components[0]: if from_info['URL'] != components[0]:
to_info = CaptureSVNInfo(url, '.') to_info = CaptureSVNInfo(url, '.')
...@@ -308,7 +308,7 @@ class SVNWrapper(SCMWrapper): ...@@ -308,7 +308,7 @@ class SVNWrapper(SCMWrapper):
command = ['checkout', url, checkout_path] command = ['checkout', url, checkout_path]
if revision: if revision:
command.extend(['--revision', str(revision)]) command.extend(['--revision', str(revision)])
RunSVNAndGetFileList(command, self._root_dir, file_list) RunSVNAndGetFileList(options, command, self._root_dir, file_list)
return return
...@@ -322,7 +322,7 @@ class SVNWrapper(SCMWrapper): ...@@ -322,7 +322,7 @@ class SVNWrapper(SCMWrapper):
command = ["update", checkout_path] command = ["update", checkout_path]
if revision: if revision:
command.extend(['--revision', str(revision)]) command.extend(['--revision', str(revision)])
RunSVNAndGetFileList(command, self._root_dir, file_list) RunSVNAndGetFileList(options, command, self._root_dir, file_list)
def revert(self, options, args, file_list): def revert(self, options, args, file_list):
"""Reverts local modifications. Subversion specific. """Reverts local modifications. Subversion specific.
...@@ -372,7 +372,8 @@ class SVNWrapper(SCMWrapper): ...@@ -372,7 +372,8 @@ class SVNWrapper(SCMWrapper):
# svn revert is so broken we don't even use it. Using # svn revert is so broken we don't even use it. Using
# "svn up --revision BASE" achieve the same effect. # "svn up --revision BASE" achieve the same effect.
RunSVNAndGetFileList(['update', '--revision', 'BASE'], path, file_list) RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'], path,
file_list)
def runhooks(self, options, args, file_list): def runhooks(self, options, args, file_list):
self.status(options, args, file_list) self.status(options, args, file_list)
...@@ -389,7 +390,7 @@ class SVNWrapper(SCMWrapper): ...@@ -389,7 +390,7 @@ class SVNWrapper(SCMWrapper):
% (' '.join(command), path)) % (' '.join(command), path))
# There's no file list to retrieve. # There's no file list to retrieve.
else: else:
RunSVNAndGetFileList(command, path, file_list) RunSVNAndGetFileList(options, command, path, file_list)
def pack(self, options, args, file_list): def pack(self, options, args, file_list):
"""Generates a patch file which can be applied to the root of the """Generates a patch file which can be applied to the root of the
...@@ -483,7 +484,7 @@ def CaptureSVN(args, in_directory=None, print_error=True): ...@@ -483,7 +484,7 @@ def CaptureSVN(args, in_directory=None, print_error=True):
stderr=stderr).communicate()[0] stderr=stderr).communicate()[0]
def RunSVNAndGetFileList(args, in_directory, file_list): def RunSVNAndGetFileList(options, args, in_directory, file_list):
"""Runs svn checkout, update, or status, output to stdout. """Runs svn checkout, update, or status, output to stdout.
The first item in args must be either "checkout", "update", or "status". The first item in args must be either "checkout", "update", or "status".
...@@ -493,6 +494,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list): ...@@ -493,6 +494,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list):
sys.stdout as in RunSVN. sys.stdout as in RunSVN.
Args: Args:
options: command line options to gclient
args: A sequence of command line parameters to be passed to svn. args: A sequence of command line parameters to be passed to svn.
in_directory: The directory where svn is to be run. in_directory: The directory where svn is to be run.
...@@ -532,7 +534,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list): ...@@ -532,7 +534,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list):
RunSVNAndFilterOutput(args, RunSVNAndFilterOutput(args,
in_directory, in_directory,
True, options.verbose,
True, True,
CaptureMatchingLines) CaptureMatchingLines)
......
...@@ -215,6 +215,10 @@ def SubprocessCallAndFilter(command, ...@@ -215,6 +215,10 @@ def SubprocessCallAndFilter(command,
while in_byte: while in_byte:
if in_byte != "\r": if in_byte != "\r":
if print_stdout: if print_stdout:
if not print_messages:
print("\n________ running \'%s\' in \'%s\'"
% (' '.join(command), in_directory))
print_messages = True
sys.stdout.write(in_byte) sys.stdout.write(in_byte)
if in_byte != "\n": if in_byte != "\n":
in_line += in_byte in_line += in_byte
......
...@@ -96,7 +96,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -96,7 +96,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
# Checkout. # Checkout.
gclient.os.path.exists(base_path).AndReturn(False) gclient.os.path.exists(base_path).AndReturn(False)
files_list = self.mox.CreateMockAnything() files_list = self.mox.CreateMockAnything()
gclient_scm.RunSVNAndGetFileList(['checkout', self.url, base_path], gclient_scm.RunSVNAndGetFileList(options, ['checkout', self.url, base_path],
self.root_dir, files_list) self.root_dir, files_list)
self.mox.ReplayAll() self.mox.ReplayAll()
...@@ -109,7 +109,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -109,7 +109,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
base_path = os.path.join(self.root_dir, self.relpath) base_path = os.path.join(self.root_dir, self.relpath)
gclient.os.path.isdir(base_path).AndReturn(True) gclient.os.path.isdir(base_path).AndReturn(True)
gclient_scm.CaptureSVNStatus(base_path).AndReturn([]) gclient_scm.CaptureSVNStatus(base_path).AndReturn([])
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'], gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg()) base_path, mox.IgnoreArg())
self.mox.ReplayAll() self.mox.ReplayAll()
...@@ -135,7 +135,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -135,7 +135,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
gclient_scm.os.path.exists(file_path2).AndReturn(True) gclient_scm.os.path.exists(file_path2).AndReturn(True)
gclient_scm.os.path.isfile(file_path2).AndReturn(True) gclient_scm.os.path.isfile(file_path2).AndReturn(True)
gclient_scm.os.remove(file_path2) gclient_scm.os.remove(file_path2)
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'], gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg()) base_path, mox.IgnoreArg())
print(os.path.join(base_path, 'a')) print(os.path.join(base_path, 'a'))
print(os.path.join(base_path, 'b')) print(os.path.join(base_path, 'b'))
...@@ -161,7 +161,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -161,7 +161,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
gclient_scm.os.path.isdir(file_path).AndReturn(True) gclient_scm.os.path.isdir(file_path).AndReturn(True)
gclient_utils.RemoveDirectory(file_path) gclient_utils.RemoveDirectory(file_path)
file_list1 = [] file_list1 = []
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'], gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg()) base_path, mox.IgnoreArg())
self.mox.ReplayAll() self.mox.ReplayAll()
...@@ -174,7 +174,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -174,7 +174,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
options = self.Options(verbose=True) options = self.Options(verbose=True)
base_path = os.path.join(self.root_dir, self.relpath) base_path = os.path.join(self.root_dir, self.relpath)
gclient.os.path.isdir(base_path).AndReturn(True) gclient.os.path.isdir(base_path).AndReturn(True)
gclient_scm.RunSVNAndGetFileList(['status'] + self.args, base_path, gclient_scm.RunSVNAndGetFileList(options, ['status'] + self.args, base_path,
[]).AndReturn(None) []).AndReturn(None)
self.mox.ReplayAll() self.mox.ReplayAll()
...@@ -198,7 +198,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -198,7 +198,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
# Checkout. # Checkout.
gclient.os.path.exists(base_path).AndReturn(False) gclient.os.path.exists(base_path).AndReturn(False)
files_list = self.mox.CreateMockAnything() files_list = self.mox.CreateMockAnything()
gclient_scm.RunSVNAndGetFileList(['checkout', self.url, base_path], gclient_scm.RunSVNAndGetFileList(options, ['checkout', self.url, base_path],
self.root_dir, files_list) self.root_dir, files_list)
self.mox.ReplayAll() self.mox.ReplayAll()
scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
...@@ -227,8 +227,8 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase): ...@@ -227,8 +227,8 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
if options.manually_grab_svn_rev: if options.manually_grab_svn_rev:
additional_args = ['--revision', str(file_info['Revision'])] additional_args = ['--revision', str(file_info['Revision'])]
files_list = [] files_list = []
gclient_scm.RunSVNAndGetFileList(['update', base_path] + additional_args, gclient_scm.RunSVNAndGetFileList(options,
self.root_dir, files_list) ['update', base_path] + additional_args, self.root_dir, files_list)
self.mox.ReplayAll() self.mox.ReplayAll()
scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment