aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Vanicat <vanicat@debian.org>2007-11-11 13:28:08 +0100
committerJunio C Hamano <gitster@pobox.com>2007-11-11 15:41:07 -0800
commit859a4dbcadd200ae955fe36d0c4fb3f4bce0e032 (patch)
treebabf63124993a1254f51f68b1ec521e2543559ed
parenta91ef6e75b897a255cc17b70014a39e68dd54c7a (diff)
downloadgit-859a4dbcadd200ae955fe36d0c4fb3f4bce0e032.tar.gz
git-859a4dbcadd200ae955fe36d0c4fb3f4bce0e032.tar.xz
Make GIT_INDEX_FILE apply to git-commit
Currently, when committing, git-commit ignore the value of GIT_INDEX_FILE, and always use $GIT_DIR/index. This patch fix it. Signed-off-by: Rémi Vanicat <vanicat@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-commit.sh2
-rwxr-xr-xt/t7500-commit.sh32
2 files changed, 33 insertions, 1 deletions
diff --git a/git-commit.sh b/git-commit.sh
index ab43217be..fdaa019e8 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -26,7 +26,7 @@ refuse_partial () {
}
TMP_INDEX=
-THIS_INDEX="$GIT_DIR/index"
+THIS_INDEX="${GIT_INDEX_FILE:-$GIT_DIR/index}"
NEXT_INDEX="$GIT_DIR/next-index$$"
rm -f "$NEXT_INDEX"
save_index () {
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index f11ada861..26bd8ee46 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -93,4 +93,36 @@ test_expect_success 'commit message from file should override template' '
commit_msg_is "standard input msg<unknown>"
'
+test_expect_success 'using alternate GIT_INDEX_FILE (1)' '
+
+ cp .git/index saved-index &&
+ (
+ echo some new content >file &&
+ GIT_INDEX_FILE=.git/another_index &&
+ export GIT_INDEX_FILE &&
+ git add file &&
+ git commit -m "commit using another index" &&
+ git diff-index --exit-code HEAD &&
+ git diff-files --exit-code
+ ) &&
+ cmp .git/index saved-index >/dev/null
+
+'
+
+test_expect_success 'using alternate GIT_INDEX_FILE (2)' '
+
+ cp .git/index saved-index &&
+ (
+ rm -f .git/no-such-index &&
+ GIT_INDEX_FILE=.git/no-such-index &&
+ export GIT_INDEX_FILE &&
+ git commit -m "commit using nonexistent index" &&
+ test -z "$(git ls-files)" &&
+ test -z "$(git ls-tree HEAD)"
+
+ ) &&
+ cmp .git/index saved-index >/dev/null
+
+'
+
test_done