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):
# 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.
print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('cleanup', args)
......@@ -971,7 +970,6 @@ def DoPack(options, args):
# 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.
print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('pack', args)
......@@ -988,7 +986,6 @@ def DoStatus(options, args):
# 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.
print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('status', args)
......@@ -1043,7 +1040,6 @@ def DoDiff(options, args):
# 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.
print(client.ConfigContent())
options.verbose = True
return client.RunOnDeps('diff', args)
......@@ -1143,10 +1139,6 @@ def Main(argv):
"containing the provided string"))
option_parser.add_option("", "--verbose", action="store_true", default=False,
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,
help=("skips any safesync_urls specified in "
"configured solutions"))
......
......@@ -250,7 +250,7 @@ class SVNWrapper(SCMWrapper):
command = ['checkout', url, checkout_path]
if revision:
command.extend(['--revision', str(revision)])
RunSVNAndGetFileList(command, self._root_dir, file_list)
RunSVNAndGetFileList(options, command, self._root_dir, file_list)
return
# Get the existing scm url and the revision number of the current checkout.
......@@ -261,12 +261,12 @@ class SVNWrapper(SCMWrapper):
"and try again." %
checkout_path)
if options.manually_grab_svn_rev:
# Retrieve the current HEAD version because svn is slow at null updates.
if not revision:
from_info_live = CaptureSVNInfo(from_info['URL'], '.')
revision = str(from_info_live['Revision'])
rev_str = ' at %s' % revision
# Retrieve the current HEAD version because svn is slow at null updates.
if not revision:
from_info_live = CaptureSVNInfo(from_info['URL'], '.')
revision = str(from_info_live['Revision'])
rev_str = ' at %s' % revision
forced_revision = True
if from_info['URL'] != components[0]:
to_info = CaptureSVNInfo(url, '.')
......@@ -308,7 +308,7 @@ class SVNWrapper(SCMWrapper):
command = ['checkout', url, checkout_path]
if revision:
command.extend(['--revision', str(revision)])
RunSVNAndGetFileList(command, self._root_dir, file_list)
RunSVNAndGetFileList(options, command, self._root_dir, file_list)
return
......@@ -322,7 +322,7 @@ class SVNWrapper(SCMWrapper):
command = ["update", checkout_path]
if 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):
"""Reverts local modifications. Subversion specific.
......@@ -372,7 +372,8 @@ class SVNWrapper(SCMWrapper):
# svn revert is so broken we don't even use it. Using
# "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):
self.status(options, args, file_list)
......@@ -389,7 +390,7 @@ class SVNWrapper(SCMWrapper):
% (' '.join(command), path))
# There's no file list to retrieve.
else:
RunSVNAndGetFileList(command, path, file_list)
RunSVNAndGetFileList(options, command, path, file_list)
def pack(self, options, args, file_list):
"""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):
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.
The first item in args must be either "checkout", "update", or "status".
......@@ -493,6 +494,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list):
sys.stdout as in RunSVN.
Args:
options: command line options to gclient
args: A sequence of command line parameters to be passed to svn.
in_directory: The directory where svn is to be run.
......@@ -532,7 +534,7 @@ def RunSVNAndGetFileList(args, in_directory, file_list):
RunSVNAndFilterOutput(args,
in_directory,
True,
options.verbose,
True,
CaptureMatchingLines)
......
......@@ -215,6 +215,10 @@ def SubprocessCallAndFilter(command,
while in_byte:
if in_byte != "\r":
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)
if in_byte != "\n":
in_line += in_byte
......
......@@ -96,7 +96,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
# Checkout.
gclient.os.path.exists(base_path).AndReturn(False)
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.mox.ReplayAll()
......@@ -109,7 +109,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
base_path = os.path.join(self.root_dir, self.relpath)
gclient.os.path.isdir(base_path).AndReturn(True)
gclient_scm.CaptureSVNStatus(base_path).AndReturn([])
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'],
gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg())
self.mox.ReplayAll()
......@@ -135,7 +135,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
gclient_scm.os.path.exists(file_path2).AndReturn(True)
gclient_scm.os.path.isfile(file_path2).AndReturn(True)
gclient_scm.os.remove(file_path2)
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'],
gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg())
print(os.path.join(base_path, 'a'))
print(os.path.join(base_path, 'b'))
......@@ -161,7 +161,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
gclient_scm.os.path.isdir(file_path).AndReturn(True)
gclient_utils.RemoveDirectory(file_path)
file_list1 = []
gclient_scm.RunSVNAndGetFileList(['update', '--revision', 'BASE'],
gclient_scm.RunSVNAndGetFileList(options, ['update', '--revision', 'BASE'],
base_path, mox.IgnoreArg())
self.mox.ReplayAll()
......@@ -174,7 +174,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
options = self.Options(verbose=True)
base_path = os.path.join(self.root_dir, self.relpath)
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)
self.mox.ReplayAll()
......@@ -198,7 +198,7 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
# Checkout.
gclient.os.path.exists(base_path).AndReturn(False)
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.mox.ReplayAll()
scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
......@@ -227,8 +227,8 @@ class SVNWrapperTestCase(gclient_test.GClientBaseTestCase):
if options.manually_grab_svn_rev:
additional_args = ['--revision', str(file_info['Revision'])]
files_list = []
gclient_scm.RunSVNAndGetFileList(['update', base_path] + additional_args,
self.root_dir, files_list)
gclient_scm.RunSVNAndGetFileList(options,
['update', base_path] + additional_args, self.root_dir, files_list)
self.mox.ReplayAll()
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