dev: fix --commit when the worktree is dirty

This commit is contained in:
Matt Sturgeon 2024-07-15 11:43:09 +01:00
parent cff06c8570
commit c1feceda64
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299

View file

@ -43,13 +43,14 @@
cd "$generated_dir" cd "$generated_dir"
git add . git add .
# Construct a msg body from `git status` # Construct a msg body from `git status -- .`
body=$( body=$(
git status \ git status \
--short \ --short \
--ignored=no \ --ignored=no \
--untracked-files=no \ --untracked-files=no \
--no-ahead-behind \ --no-ahead-behind \
-- . \
| sed \ | sed \
-e 's/^\s*\([A-Z]\)\s*/\1 /' \ -e 's/^\s*\([A-Z]\)\s*/\1 /' \
-e 's/^A/Added/' \ -e 's/^A/Added/' \
@ -60,7 +61,7 @@
) )
# Construct the commit message based on the body # Construct the commit message based on the body
count=$(echo "$body" | wc -l) count=$(echo -n "$body" | wc -l)
if [ "$count" -gt 1 ] || [ ''${#body} -gt 50 ]; then if [ "$count" -gt 1 ] || [ ''${#body} -gt 50 ]; then
msg=$(echo -e "generated: Update\n\n$body") msg=$(echo -e "generated: Update\n\n$body")
else else
@ -68,7 +69,11 @@
fi fi
# Commit if there are changes # Commit if there are changes
[ "$count" -gt 0 ] && git commit -m "$msg" --no-verify if [ "$count" -gt 0 ]; then
echo "Committing $count changes..."
echo "$msg"
git commit -m "$msg" --no-verify
fi
fi fi
''; '';
}; };