mirror of
https://github.com/Dev-Wiki/git-repo.git
synced 2025-11-14 06:41:00 +08:00
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 <some tag>
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
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user