diff --git a/pre-commit.sh b/pre-commit.sh index ad4ee52..8e40b6e 100644 --- a/pre-commit.sh +++ b/pre-commit.sh @@ -2,18 +2,18 @@ articles_dir=`git config --get fugitive.articles-dir` -article_exists=`mktemp fugitiveXXXXXX` +article_exists="0" for f in "$articles_dir"/*; do + if [ "$f" = "$articles_dir"'/*' ]; then break; fi ts=`git log --format="%at" -- "$f" | tail -1` if [ "$ts" != "" ]; then - echo "1" + article_exists="1" break fi -done > "$article_exists" -article_exists=`cat $article_exists` +done non_tracked=`git status --porcelain | grep -E '^(A|R)' | grep "$articles_dir"` -if [ "$article_exists" = "" -a "$non_tracked" = "" ]; then +if [ "$article_exists" = "0" -a "$non_tracked" = "" ]; then echo -n "[fugitive] ERROR: need at least one article (you can use " >&2 echo '`git commit --no-verify` to bypass), aborting.' >&2 exit 1