summaryrefslogtreecommitdiff
path: root/t/t9812-git-p4-wildcards.sh
diff options
context:
space:
mode:
authorPete Wyckoff <pw@padd.com>2014-01-21 18:16:45 -0500
committerJunio C Hamano <gitster@pobox.com>2014-01-22 08:06:19 -0800
commit79467e61aa30342d7fb17232624ec5ade4cbbe6a (patch)
tree44913add825355bf24771ea0c0baf50d47ea9e4e /t/t9812-git-p4-wildcards.sh
parent0cf1b72a38e6190a7e614bbc53fbb81704a3d4af (diff)
downloadgit-79467e61aa30342d7fb17232624ec5ade4cbbe6a.tar.gz
git p4: handle files with wildcards when doing RCS scrubbing
Commit 9d7d446 (git p4: submit files with wildcards, 2012-04-29) fixed problems with handling files that had p4 wildcard characters, like "@" and "*". But it missed one case, that of RCS keyword scrubbing, which uses "p4 fstat" to extract type information. Fix it by calling wildcard_encode() on the raw filename. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9812-git-p4-wildcards.sh')
-rwxr-xr-xt/t9812-git-p4-wildcards.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t9812-git-p4-wildcards.sh b/t/t9812-git-p4-wildcards.sh
index f2ddbc50e7..c7472cbf54 100755
--- a/t/t9812-git-p4-wildcards.sh
+++ b/t/t9812-git-p4-wildcards.sh
@@ -188,6 +188,29 @@ test_expect_success 'p4 deleted a wildcard file' '
)
'
+test_expect_success 'wildcard files requiring keyword scrub' '
+ (
+ cd "$cli" &&
+ cat <<-\EOF >scrub@wild &&
+ $Id$
+ line2
+ EOF
+ p4 add -t text+k -f scrub@wild &&
+ p4 submit -d "scrub at wild"
+ ) &&
+ test_when_finished cleanup_git &&
+ git p4 clone --dest="$git" //depot &&
+ (
+ cd "$git" &&
+ git config git-p4.skipSubmitEdit true &&
+ git config git-p4.attemptRCSCleanup true &&
+ sed "s/^line2/line2 edit/" <scrub@wild >scrub@wild.tmp &&
+ mv -f scrub@wild.tmp scrub@wild &&
+ git commit -m "scrub at wild line2 edit" scrub@wild &&
+ git p4 submit
+ )
+'
+
test_expect_success 'kill p4d' '
kill_p4d
'