git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@padd.com>
To: git@vger.kernel.org
Cc: "Miklós Fazekas" <mfazekas@szemafor.com>,
	"John Keeping" <john@keeping.me.uk>
Subject: [PATCH 2/3] git p4 test: should honor symlink in p4 client root
Date: Thu,  7 Mar 2013 18:19:16 -0500	[thread overview]
Message-ID: <1362698357-7334-3-git-send-email-pw@padd.com> (raw)
In-Reply-To: <1362698357-7334-1-git-send-email-pw@padd.com>

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

  parent reply	other threads:[~2013-03-07 23:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAAMmcSSvrsZqEVf68Nrqy_ZG6r5ESKhtx7JdQ7vzypkZ3gOFnA@mail.gmail.com>
2013-01-29  8:37 ` [PATCH] git p4: chdir resolves symlinks only for relative paths Miklós Fazekas
2013-02-03 23:08   ` Pete Wyckoff
2013-03-07  8:36     ` Miklós Fazekas
2013-03-07  9:13       ` John Keeping
2013-03-07 23:19         ` [PATCH 0/3] fix git-p4 client root symlink problems Pete Wyckoff
2013-03-07 23:19           ` [PATCH 1/3] git p4 test: make sure P4CONFIG relative path works Pete Wyckoff
2013-03-07 23:19           ` Pete Wyckoff [this message]
2013-03-08  6:42             ` [PATCH 2/3] git p4 test: should honor symlink in p4 client root Johannes Sixt
2013-03-11 21:45               ` [PATCH v2 0/3] fix git-p4 client root symlink problems Pete Wyckoff
2013-03-11 21:45                 ` [PATCH v2 1/3] git p4 test: make sure P4CONFIG relative path works Pete Wyckoff
2013-03-11 21:45                 ` [PATCH v2 2/3] git p4 test: should honor symlink in p4 client root Pete Wyckoff
2013-03-11 21:45                 ` [PATCH v2 3/3] git p4: avoid expanding client paths in chdir Pete Wyckoff
2013-03-07 23:19           ` [PATCH " Pete Wyckoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1362698357-7334-3-git-send-email-pw@padd.com \
    --to=pw@padd.com \
    --cc=git@vger.kernel.org \
    --cc=john@keeping.me.uk \
    --cc=mfazekas@szemafor.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).