Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Continuous integration p4在文件名中添加撇号_Continuous Integration_Special Characters_Perforce - Fatal编程技术网

Continuous integration p4在文件名中添加撇号

Continuous integration p4在文件名中添加撇号,continuous-integration,special-characters,perforce,Continuous Integration,Special Characters,Perforce,我们有一个我正在尝试自动化的过程,在这个过程中,我必须将生成的输出文件检查到perforce中。我知道这远非理想,但这不是我能真正做到的。为了确保所有生成的文件都进入perforce,我必须将整个目录检查到perforce中。根据perforce的文档,您可以运行一个看似愚蠢但有效的命令: dir /s /b /a-d | p4 -x - add 当您执行此操作时,所有内容在开始时都运行良好,对于每个带有撇号(单引号?)的文件名,我收到一条消息说 文件名-缺少,假定为文本 尽管我要添加的文件列

我们有一个我正在尝试自动化的过程,在这个过程中,我必须将生成的输出文件检查到perforce中。我知道这远非理想,但这不是我能真正做到的。为了确保所有生成的文件都进入perforce,我必须将整个目录检查到perforce中。根据perforce的文档,您可以运行一个看似愚蠢但有效的命令:

dir /s /b /a-d | p4 -x - add
当您执行此操作时,所有内容在开始时都运行良好,对于每个带有撇号(单引号?)的文件名,我收到一条消息说

文件名-缺少,假定为文本

尽管我要添加的文件列表是由dir生成的,但仍然存在这种情况。换句话说,这些文件中的一个不可能丢失(除非另一个进程干扰),因为它是目录中的文件列表

如果我尝试提交生成的变更列表,当无法找到丢失的文件时,提交将失败。我已经尝试了一些长技巧,比如将dir输出重定向到一个文件中,然后从该文件中读取add的参数,但效果一样

也许这一切中最疯狂的部分是我发现

p4 add Jim's_File.txt
如果使用tab complete,则可以工作,但如果键入、粘贴或管道化名称,则会失败。我不知道如何处理这种行为,但我真的很想知道一些想法。

对我很有用:

创建了一个名为“file.txt”的文件

c:\some_path>p4 add a'file.txt
//source/path-in-depot/a'file.txt#1 - opened for add
也许你应该提到你的performe版本和操作系统


一般来说,最好将每个文件名用引号(
“a'file.txt”
)括起来,或者在Windows shell中,使用
^
符号转义任何具有特殊含义的字符。

在2012.1版中,有一个新的
p4协调
命令,使得goofy
dir | p4 add
技巧变得不必要<代码>p4协调将处理文件名中的撇号以及其他难以引用的字符串


我认为2012.1服务器仍处于测试阶段。这可能是本书中没有提到它的原因。

很有趣。我已经试过引用文件名了,但没有什么不同。我将执行更多的测试,如果它们不起作用,我将发布各种版本信息。好的,我们已经确定“撇号”实际上不是撇号。在windows资源管理器中仔细查看文件名和我自己手工制作的“a'file.txt”版本,可以发现我的问题文件中有一个奇怪的标点符号,是文档作者或文档工具之一不知何故放在那里的。在许多字体中,它看起来像一个撇号,复制粘贴甚至将其视为撇号,但我猜这种处理方式不一致,导致了我的问题。感谢您提供第二组数据以供使用!听起来不错。恐怕我无法让他们仅为我将Performance升级到beta版本,但我期待着有一天我们会有它投票失败的原因是什么?如果我不知道出了什么问题,我就写不出更好的问题。