aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-11-14 14:25:33 -0800
committerJunio C Hamano <gitster@pobox.com>2007-11-14 14:25:33 -0800
commit43f36901c5e4d54de2c3b7c5d62af59382df717c (patch)
tree133b1cc2ae6d0e97fdcb1a88b2e4df0796cf2590
parent9f165805f3bde8cd91653f2db1c35a4548b85625 (diff)
parent859a4dbcadd200ae955fe36d0c4fb3f4bce0e032 (diff)
downloadgit-43f36901c5e4d54de2c3b7c5d62af59382df717c.tar.gz
git-43f36901c5e4d54de2c3b7c5d62af59382df717c.tar.xz
Merge branch 'rv/maint-index-commit'
* rv/maint-index-commit: Make GIT_INDEX_FILE apply to git-commit
-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 fcb8443bd..6490045d3 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 abbf54ba6..cf389b81d 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"
'
+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