aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-11-24 18:03:29 -0800
committerJunio C Hamano <gitster@pobox.com>2007-11-24 18:03:29 -0800
commit788ea12d43605945cbfe74b4dadda8f75c23a411 (patch)
treefc435d73e42eaf8f168f9212fc796154d3b56833
parentbe4b37b9ad22ecc6b4ff5782de8ac0d6d89e2bb7 (diff)
parent859a4dbcadd200ae955fe36d0c4fb3f4bce0e032 (diff)
downloadgit-788ea12d43605945cbfe74b4dadda8f75c23a411.tar.gz
git-788ea12d43605945cbfe74b4dadda8f75c23a411.tar.xz
Merge branch 'rv/maint-index-commit' into maint
* 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 5e3908f2c..1c0c6b9e4 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