Merge branch 'ps/submodule-sanitize-path-upon-add'

"git submodule add" failed to squash "path/to/././submodule" to
"path/to/submodule".

* ps/submodule-sanitize-path-upon-add:
  git-submodule.sh: fix '/././' path normalization
This commit is contained in:
Junio C Hamano 2015-02-22 12:28:26 -08:00
commit 070f6fed05
2 changed files with 18 additions and 1 deletions

View File

@ -423,7 +423,7 @@ cmd_add()
sed -e '
s|//*|/|g
s|^\(\./\)*||
s|/\./|/|g
s|/\(\./\)*|/|g
:start
s|\([^/]*\)/\.\./||
tstart

View File

@ -171,6 +171,23 @@ test_expect_success 'submodule add with ./ in path' '
test_cmp empty untracked
'
test_expect_success 'submodule add with /././ in path' '
echo "refs/heads/master" >expect &&
>empty &&
(
cd addtest &&
git submodule add "$submodurl" dotslashdotsubmod/././frotz/./ &&
git submodule init
) &&
rm -f heads head untracked &&
inspect addtest/dotslashdotsubmod/frotz ../../.. &&
test_cmp expect heads &&
test_cmp expect head &&
test_cmp empty untracked
'
test_expect_success 'submodule add with // in path' '
echo "refs/heads/master" >expect &&
>empty &&