Re: [PATCH] git-submodules.sh: fix '/././' path normalization

2015-02-02 Thread Jens Lehmann

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

2015-01-30 Thread 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.

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