[PATCH 2/3] git p4 test: should honor symlink in p4 client root

2013-03-07 Thread Pete Wyckoff
This test fails when the p4 client root includes
a symlink.  It complains:

Path /vol/bar/projects/foo/... is not under client root /p/foo

and dumps a traceback.

Signed-off-by: Pete Wyckoff p...@padd.com
---
 t/t9808-git-p4-chdir.sh | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/t/t9808-git-p4-chdir.sh b/t/t9808-git-p4-chdir.sh
index 55c5e36..af8bd8a 100755
--- a/t/t9808-git-p4-chdir.sh
+++ b/t/t9808-git-p4-chdir.sh
@@ -56,6 +56,33 @@ test_expect_success 'p4 client root would be relative due to 
clone --dest' '
)
 '
 
+# When the p4 client Root is a symlink, make sure chdir() does not use
+# getcwd() to convert it to a physical path.
+test_expect_failure 'p4 client root symlink should stay symbolic' '
+   physical=$TRASH_DIRECTORY/physical 
+   symbolic=$TRASH_DIRECTORY/symbolic 
+   test_when_finished rm -rf \$physical\ 
+   test_when_finished rm \$symbolic\ 
+   mkdir -p $physical 
+   ln -s $physical $symbolic 
+   test_when_finished cleanup_git 
+   (
+   P4CLIENT=client-sym 
+   p4 client -i -EOF 
+   Client: $P4CLIENT
+   Description: $P4CLIENT
+   Root: $symbolic
+   LineEnd: unix
+   View: //depot/... //$P4CLIENT/...
+   EOF
+   git p4 clone --dest=$git //depot 
+   cd $git 
+   test_commit file2 
+   git config git-p4.skipSubmitEdit true 
+   git p4 submit
+   )
+'
+
 test_expect_success 'kill p4d' '
kill_p4d
 '
-- 
1.8.2.rc2.64.g8335025

--
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


Re: [PATCH 2/3] git p4 test: should honor symlink in p4 client root

2013-03-07 Thread Johannes Sixt
Am 3/8/2013 0:19, schrieb Pete Wyckoff:
 +# When the p4 client Root is a symlink, make sure chdir() does not use
 +# getcwd() to convert it to a physical path.
 +test_expect_failure 'p4 client root symlink should stay symbolic' '
 + physical=$TRASH_DIRECTORY/physical 
 + symbolic=$TRASH_DIRECTORY/symbolic 
 + test_when_finished rm -rf \$physical\ 
 + test_when_finished rm \$symbolic\ 
 + mkdir -p $physical 
 + ln -s $physical $symbolic 

This test needs a SYMLINKS prerequisite to future-proof it, in case the
Windows port gains p4 support some time.

 + test_when_finished cleanup_git 
 + (
 + P4CLIENT=client-sym 
 + p4 client -i -EOF 
 + Client: $P4CLIENT
 + Description: $P4CLIENT
 + Root: $symbolic
 + LineEnd: unix
 + View: //depot/... //$P4CLIENT/...
 + EOF
 + git p4 clone --dest=$git //depot 
 + cd $git 
 + test_commit file2 
 + git config git-p4.skipSubmitEdit true 
 + git p4 submit
 + )
 +'

-- Hannes
--
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