From 4d5bb68d58f12885ea06fb73d5e17d8c780c9ff8 Mon Sep 17 00:00:00 2001 From: Andrew Wheeler Date: Mon, 27 Feb 2012 13:52:22 -0600 Subject: status: add -q/--quiet option The --quiet option reduces the output to just a list of projects with modified workspaces (and orphans if -o is specified) A common use case is when performing a full-workspace merge. The integrator will kick-off a merge via: repo forall -c git merge And then produce a short list of conflicted projects via: repo status -q The integrator can then iteratively fix and clean up all conficted components. The merge is complete when: repo status -q returns no output. Change-Id: Ibbba8713eac35befd8287c95948874e23fd5c7e2 --- subcmds/status.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'subcmds/status.py') diff --git a/subcmds/status.py b/subcmds/status.py index 38c229b1..60e26ff4 100644 --- a/subcmds/status.py +++ b/subcmds/status.py @@ -89,8 +89,10 @@ the following meanings: p.add_option('-o', '--orphans', dest='orphans', action='store_true', help="include objects in working directory outside of repo projects") + p.add_option('-q', '--quiet', action='store_true', + help="only print the name of modified projects") - def _StatusHelper(self, project, clean_counter, sem): + def _StatusHelper(self, project, clean_counter, sem, quiet): """Obtains the status for a specific project. Obtains the status for a project, redirecting the output to @@ -104,7 +106,7 @@ the following meanings: output: Where to output the status. """ try: - state = project.PrintWorkTreeStatus() + state = project.PrintWorkTreeStatus(quiet=quiet) if state == 'CLEAN': next(clean_counter) finally: @@ -132,7 +134,7 @@ the following meanings: if opt.jobs == 1: for project in all_projects: - state = project.PrintWorkTreeStatus() + state = project.PrintWorkTreeStatus(quiet=opt.quiet) if state == 'CLEAN': next(counter) else: @@ -142,13 +144,13 @@ the following meanings: sem.acquire() t = _threading.Thread(target=self._StatusHelper, - args=(project, counter, sem)) + args=(project, counter, sem, opt.quiet)) threads.append(t) t.daemon = True t.start() for t in threads: t.join() - if len(all_projects) == next(counter): + if not opt.quiet and len(all_projects) == next(counter): print('nothing to commit (working directory clean)') if opt.orphans: -- cgit v1.2.3-54-g00ecf