summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2006-12-09 22:32:43 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2006-12-10 14:50:40 -0800
commit158d0577891441c01457bbcaf45585d3b50f5d75 (patch)
tree9e3d206e69ba0dc4869097f0c9ba270bdb970ede
parentDocumentation/git-commit: rewrite to make it more end-user friendly. (diff)
downloadtgif-158d0577891441c01457bbcaf45585d3b50f5d75.tar.xz
git-commit: allow --only to lose what was staged earlier.
The command used to have a safety valve to prevent this sequence: edit foo git update-index foo edit foo git diff foo git commit --only foo The reason for this was because an inexperienced user might mistakenly think what is shown with the last-minute diff contains all the change that is being committed (instead, what the user asked to check was an incremental diff since what has been staged so far). However, this turns out to only annoy people who know what they are doing. Inexperienced people would not be using the first "update-index" anyway, in which case they would see the full changes in the "git diff". Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-commit.sh12
1 files changed, 1 insertions, 11 deletions
diff --git a/git-commit.sh b/git-commit.sh
index 81c3a0cb61..c829791171 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -350,19 +350,9 @@ t,)
refuse_partial "Cannot do a partial commit during a merge."
fi
TMP_INDEX="$GIT_DIR/tmp-index$$"
- if test -z "$initial_commit"
- then
- # make sure index is clean at the specified paths, or
- # they are additions.
- dirty_in_index=`git-diff-index --cached --name-status \
- --diff-filter=DMTU HEAD -- "$@"`
- test -z "$dirty_in_index" ||
- refuse_partial "Different in index and the last commit:
-$dirty_in_index"
- fi
commit_only=`git-ls-files --error-unmatch -- "$@"` || exit
- # Build the temporary index and update the real index
+ # Build a temporary index and update the real index
# the same way.
if test -z "$initial_commit"
then