Re: [PATCH] git-submodules.sh: fix '/././' path normalization
Am 30.01.2015 um 16:14 schrieb Patrick Steinhardt: When we add a new submodule the path of the submodule is being normalized. We fail to normalize multiple adjacent '/./', though. Thus 'path/to/././submodule' will become 'path/to/./submodule' where it should be 'path/to/submodule' instead. Thanks, nicely done and fixes the issue you noticed: Ack from me. Signed-off-by: Patrick Steinhardt p...@pks.im --- git-submodule.sh | 2 +- t/t7400-submodule-basic.sh | 17 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 9245abf..36797c3 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -423,7 +423,7 @@ cmd_add() sed -e ' s|//*|/|g s|^\(\./\)*|| - s|/\./|/|g + s|/\(\./\)*|/|g :start s|\([^/]*\)/\.\./|| tstart diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh index 7c88245..5811a98 100755 --- a/t/t7400-submodule-basic.sh +++ b/t/t7400-submodule-basic.sh @@ -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 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] git-submodules.sh: fix '/././' path normalization
When we add a new submodule the path of the submodule is being normalized. We fail to normalize multiple adjacent '/./', though. Thus 'path/to/././submodule' will become 'path/to/./submodule' where it should be 'path/to/submodule' instead. Signed-off-by: Patrick Steinhardt p...@pks.im --- git-submodule.sh | 2 +- t/t7400-submodule-basic.sh | 17 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 9245abf..36797c3 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -423,7 +423,7 @@ cmd_add() sed -e ' s|//*|/|g s|^\(\./\)*|| - s|/\./|/|g + s|/\(\./\)*|/|g :start s|\([^/]*\)/\.\./|| tstart diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh index 7c88245..5811a98 100755 --- a/t/t7400-submodule-basic.sh +++ b/t/t7400-submodule-basic.sh @@ -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 -- 2.2.2 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html