Skip to content

Commit 79467e6

Browse files
Pete Wyckoffgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 0cf1b72 commit 79467e6

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

git-p4.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ def split_p4_type(p4type):
310310
#
311311
# return the raw p4 type of a file (text, text+ko, etc)
312312
#
313-
def p4_type(file):
314-
results = p4CmdList(["fstat", "-T", "headType", file])
313+
def p4_type(f):
314+
results = p4CmdList(["fstat", "-T", "headType", wildcard_encode(f)])
315315
return results[0]['headType']
316316

317317
#

t/t9812-git-p4-wildcards.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,29 @@ test_expect_success 'p4 deleted a wildcard file' '
188188
)
189189
'
190190

191+
test_expect_success 'wildcard files requiring keyword scrub' '
192+
(
193+
cd "$cli" &&
194+
cat <<-\EOF >scrub@wild &&
195+
$Id$
196+
line2
197+
EOF
198+
p4 add -t text+k -f scrub@wild &&
199+
p4 submit -d "scrub at wild"
200+
) &&
201+
test_when_finished cleanup_git &&
202+
git p4 clone --dest="$git" //depot &&
203+
(
204+
cd "$git" &&
205+
git config git-p4.skipSubmitEdit true &&
206+
git config git-p4.attemptRCSCleanup true &&
207+
sed "s/^line2/line2 edit/" <scrub@wild >[email protected] &&
208+
mv -f [email protected] scrub@wild &&
209+
git commit -m "scrub at wild line2 edit" scrub@wild &&
210+
git p4 submit
211+
)
212+
'
213+
191214
test_expect_success 'kill p4d' '
192215
kill_p4d
193216
'

0 commit comments

Comments
 (0)