由于文件名中的非法字符,git2p4 提交失败

git2p4 submit fails because of illegal characters in filenames

我们的团队使用 git2p4 在 github repo 上进行本地开发,然后将其提交给 perforce。 例如。

/home/workspace/src/ - git 回购代码(存在更改)

/home/workspace_p4git/src - 与 perforce 上的软件仓库关联的本地客户端工作区。

当我们在 perforce 本地目录中复制 git repo 源代码时,更改在 git 中显示为未暂存。

现在我的问题是:

git 存储库中有一个名为:abc %28def%29.extension 的文件。

当我'git add -A';它告诉我-
重命名:abc %2528def%2529.extension -> abc %28def%29.extension

可能是因为 Perforce 不允许在文件名中使用 '%' 字符。

然后我尝试将我的代码提交到 git 仓库 - git p4 submit -M

失败并出现以下错误:

目标文件具有非法转义序列 [%xx]。

命令失败:p4 integrate -Dt "abc %2528def62%2529.extension" "abc %28def%29.extension"

除了更改 git 存储库中的文件名之外,是否有人有任何解决此问题的建议?

Maybe this is because Perforce does not allow '%' character in the filename.

不是,是因为%25 is the percent encoding for %.

您需要尝试 git mv 恢复添加的文件,使用 \% 或 %% 看看您是否可以在其名称中恢复正确的 %。
请务必先更新到最新的 git 版本。