status: tell the user the working tree is clean
If there is nothing output at all, tell the user the working tree is
completely clean. It just gives them a bit more of a warm-fuzzy
feeling knowing repo and until the end. It also more closely
matches with the output of git status.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/project.py b/project.py
index d2ec34f..bd35c65 100644
--- a/project.py
+++ b/project.py
@@ -352,7 +352,7 @@
df = self.work_git.DiffZ('diff-files')
do = self.work_git.LsOthers()
if not di and not df and not do:
- return
+ return 'CLEAN'
out = StatusColoring(self.config)
out.project('project %-40s', self.relpath + '/')
@@ -400,6 +400,7 @@
else:
out.write('%s', line)
out.nl()
+ return 'DIRTY'
def PrintWorkTreeDiff(self):
"""Prints the status of the repository to stdout.
diff --git a/subcmds/status.py b/subcmds/status.py
index 1615b42..853f150 100644
--- a/subcmds/status.py
+++ b/subcmds/status.py
@@ -23,5 +23,12 @@
"""
def Execute(self, opt, args):
- for project in self.GetProjects(args):
- project.PrintWorkTreeStatus()
+ all = self.GetProjects(args)
+ clean = 0
+
+ for project in all:
+ state = project.PrintWorkTreeStatus()
+ if state == 'CLEAN':
+ clean += 1
+ if len(all) == clean:
+ print 'nothing to commit (working directory clean)'