aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-02-23 22:14:47 -0800
committerJunio C Hamano <junkio@cox.net>2006-02-23 22:14:47 -0800
commit6d28644d691fa3967d24d988d51d863f22bbcc63 (patch)
tree4c35aec59268cc0b0c8fa2eacbf624792b466bcc
parent183bdb2cccff792f11fd9e825df67af446aff171 (diff)
downloadgit-6d28644d691fa3967d24d988d51d863f22bbcc63.tar.gz
git-6d28644d691fa3967d24d988d51d863f22bbcc63.tar.xz
git-am: do not allow empty commits by mistake.
Running "git-am --resolved" without doing anything can create an empty commit. Prevent it. Thanks for Eric W. Biederman for spotting this. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-am.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/git-am.sh b/git-am.sh
index 85ecada65..7cc4ae5a3 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -300,7 +300,7 @@ do
} >"$dotest/final-commit"
;;
*)
- case "$resolved,$interactive" in
+ case "$resolved$interactive" in
tt)
# This is used only for interactive view option.
git-diff-index -p --cached HEAD >"$dotest/patch"
@@ -364,6 +364,12 @@ do
# trust what the user has in the index file and the
# working tree.
resolved=
+ changed="$(git-diff-index --cached --name-only HEAD)"
+ if test '' = "$changed"
+ then
+ echo "No changes - did you forget update-index?"
+ stop_here $this
+ fi
apply_status=0
;;
esac
@@ -374,7 +380,7 @@ do
then
# Applying the patch to an earlier tree and merging the
# result may have produced the same tree as ours.
- changed="$(git-diff-index --cached --name-only -z HEAD)"
+ changed="$(git-diff-index --cached --name-only HEAD)"
if test '' = "$changed"
then
echo No changes -- Patch already applied.