Files and directories with special characters %, @, * and # are not escaped when sent to the P4 Client API. For example, an '@' character is common in root workspace folders when using concurrent builds in Jenkins. But when sent unescaped to the P4 Client API, the text following it is interpreted by Perforce as a changelist number, causing source control operations to fail.
Example messages:
LogSourceControl: Attempting 'p4 fstat -Or F:\ws\dev@2/xxxxx.uasset'
SourceControl: Error: CommandMessage Command: UpdateStatus, Error: Invalid changelist/client/label/date '@2/xxxxx.uasset'.
Escaping special characters should probably be implemented here:
[Engine\Plugins\Developer\PerforceSourceControl\Source\PerforceSourceControl\Private\PerforceSourceControlOperations.cpp:1891]
for (FString File : InCommand.Files)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-218060 in the post.
0 |
Component | UE - Editor - Workflow Systems |
---|---|
Affects Versions | 5.4 |
Created | Jun 14, 2024 |
---|---|
Updated | Jun 18, 2024 |