git-commit-vandalism/t/t2104-update-index-gitfile.sh
Brad King 40c813e00c Handle relative paths in submodule .git files
Commit 842abf0 (Teach resolve_gitlink_ref() about the .git file, 2008-02-20)
taught resolve_gitlink_ref() to call read_gitfile_gently() to resolve .git
files.  In this commit teach read_gitfile_gently() to interpret a relative
path in a .git file with respect to the file location.

This change allows update-index to recognize a submodule that uses a relative
path in its .git file.  It previously failed because the relative path was
wrongly interpreted with respect to the superproject directory.

Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 23:43:22 -08:00

39 lines
697 B
Bash
Executable File

#!/bin/sh
#
# Copyright (c) 2010 Brad King
#
test_description='git update-index for gitlink to .git file.
'
. ./test-lib.sh
test_expect_success 'submodule with absolute .git file' '
mkdir sub1 &&
(cd sub1 &&
git init &&
REAL="$(pwd)/.real" &&
mv .git "$REAL"
echo "gitdir: $REAL" >.git &&
test_commit first)
'
test_expect_success 'add gitlink to absolute .git file' '
git update-index --add -- sub1
'
test_expect_success 'submodule with relative .git file' '
mkdir sub2 &&
(cd sub2 &&
git init &&
mv .git .real &&
echo "gitdir: .real" >.git &&
test_commit first)
'
test_expect_success 'add gitlink to relative .git file' '
git update-index --add -- sub2
'
test_done