From 084f6306d4b7b27a5d12236e808604220b8b3e3f Mon Sep 17 00:00:00 2001 From: Pete Wyckoff Date: Sat, 19 Feb 2011 08:18:00 -0500 Subject: git-p4: decode p4 wildcard characters There are four wildcard characters in p4. Files with these characters can be added to p4 repos using the "-f" option. They are stored in %xx notation, and when checked out, p4 converts them back to normal. This patch does the same thing when importing into git, converting the four special characters. Without this change, the files appear with literal %xx in their names. Be careful not to produce "*" in filenames on windows. That will fail. Signed-off-by: Pete Wyckoff Signed-off-by: Junio C Hamano --- t/t9800-git-p4.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 't') diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh index c1ea4d445c..026277a47a 100755 --- a/t/t9800-git-p4.sh +++ b/t/t9800-git-p4.sh @@ -58,6 +58,28 @@ test_expect_success 'exit when p4 fails to produce marshaled output' ' test_must_fail grep -q Traceback errs ' +test_expect_success 'add p4 files with wildcards in the names' ' + cd "$cli" && + echo file-wild-hash >file-wild#hash && + echo file-wild-star >file-wild\*star && + echo file-wild-at >file-wild@at && + echo file-wild-percent >file-wild%percent && + p4 add -f file-wild* && + p4 submit -d "file wildcards" && + cd "$TRASH_DIRECTORY" +' + +test_expect_success 'wildcard files git-p4 clone' ' + "$GITP4" clone --dest="$git" //depot && + cd "$git" && + test -f file-wild#hash && + test -f file-wild\*star && + test -f file-wild@at && + test -f file-wild%percent && + cd "$TRASH_DIRECTORY" && + rm -rf "$git" && mkdir "$git" +' + test_expect_success 'shutdown' ' pid=`pgrep -f p4d` && test -n "$pid" && -- cgit v1.2.3