summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2016-03-05 22:11:11 -0700
committerSean Whitton <spwhitton@spwhitton.name>2016-03-05 22:11:11 -0700
commitadd33e9c1be217ca3ae32c0361d630b08fb2bbaf (patch)
tree35df4489c946aa1298c17f16d0cb4eb08d360fac
parent03553b00889021d53dd84670358c2395fe26696e (diff)
downloaddotfiles-add33e9c1be217ca3ae32c0361d630b08fb2bbaf.tar.gz
fix git_isclean
Previous version always exited true and didn't check for untracked files.
-rw-r--r--home-mrconfig6
1 files changed, 5 insertions, 1 deletions
diff --git a/home-mrconfig b/home-mrconfig
index dc2205ba..33e15e84 100644
--- a/home-mrconfig
+++ b/home-mrconfig
@@ -19,7 +19,11 @@ git_update = git remote update; git pull --ff-only "$@"
# `mr -ms status` is a great way to check for unpushed branches and
# unchecked in files, but what about checking only for the latter?
-git_isclean = git diff-index --quiet --cached HEAD && git diff-files --quiet || git status --porcelain
+git_isclean =
+ (git diff-index --quiet --cached HEAD \ # check HEAD versus index
+ && git diff-files --quiet \ # index versus working tree
+ && [ -z "$(git status --porcelain)" ]) \ # untracked files
+ || (git status --porcelain && exit 1)
# --- Adam Spiers' plugin for managing dotfile symlinks with mr