Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.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
Perforce 什么是;“在解决之前篡改”;是指文件解析?_Perforce - Fatal编程技术网

Perforce 什么是;“在解决之前篡改”;是指文件解析?

Perforce 什么是;“在解决之前篡改”;是指文件解析?,perforce,Perforce,我正在尝试将main流合并到development流,一些文件需要解析。在解决问题时,我有一个错误: 文件路径在解析前被篡改-编辑或还原 我试图按照描述解决它,但没有成功。 这是verify命令显示的内容: 对于目标 文件路径-分支更改9070(文本)A3269695246A89D21F341D8A5BB70B5B 对于来源 文件路径-编辑更改22793(文本)171BA2F3E0FFCEF3F7A34FDB7A2CEF69 文件路径-添加更改9049(文本)A3269695246A89D21F

我正在尝试将
main
流合并到
development
流,一些文件需要解析。在解决问题时,我有一个错误:

文件路径在解析前被篡改-编辑或还原

我试图按照描述解决它,但没有成功。 这是
verify
命令显示的内容:

对于目标
文件路径-分支更改9070(文本)A3269695246A89D21F341D8A5BB70B5B

对于来源
文件路径-编辑更改22793(文本)171BA2F3E0FFCEF3F7A34FDB7A2CEF69
文件路径-添加更改9049(文本)A3269695246A89D21F341D8A5BB70B5B


分支更改
编辑更改
添加更改
是什么意思?为什么MD5是相同的,但我仍然有一个错误?如何解决?

Perforce的客户机-服务器体系结构让您有点困惑:“验证”命令会报告服务器上文件的状态,但来自“p4 resolve”的“在解决之前篡改”消息会提醒您您的客户机上文件的状态有问题

从您提供的一点点信息来看,似乎:

  • 更改9049添加了源文件,摘要为A3269
  • 将源文件更改为目标文件。当然,源和目标的摘要是相同的,因为分支是文件的完美副本
  • Change 22793修改了源文件,因此其摘要也发生了更改
  • 然后,您尝试将变更22793从源集成到目标
  • 在大多数情况下,这种集成将是一种简单的“安全解决方案”,因为文件仅在源代码中更改,而目标文件是源代码以前版本的完美副本

    但是,resolve命令查看了目标文件的实际工作站副本,发现您在那里的文件不是具有摘要A3269的文件

    由于“resolve”命令即将用合并结果替换工作站上目标文件的副本,因此如果您对该文件进行了不希望丢失的更改(未打开该文件进行编辑),则它不希望这样做

    因此,“resolve”试图告诉您查看当前位于工作站上的目标文件的副本(例如,使用文本编辑器),并查看您是否确实对该文件进行了更改

    如果您这样做了,并且希望保存这些更改,那么此时您无法执行此集成;您需要打开文件进行编辑(当然,使用“edit-k”保留文件的修改副本),以便Perforce可以将您的编辑的副本与change 22793中的更改合并

    如果未对目标文件进行更改,或者进行了更改但不希望更改,则需要明确放弃这些更改,例如:

  • 将挂起的集成恢复到目标文件
  • 正在运行“p4同步-f目标文件”
  • 这就是“resolve”试图以非常简洁的方式传达的信息

    filepath tampered with before resolve - edit or revert.
    

    在对某个文件执行
    p4 resolve-am
    时,我也遇到了这个问题。解决方案是执行
    p4编辑
    ,然后对该文件执行
    p4 resolve-am

    这意味着在应用程序不知道的情况下编辑了您的本地文件(例如,您忘记先执行“p4编辑”)。我相信我在做集成然后在提交文件之前更改文件时也看到了这一点。

    谢谢,回答得好。这给我解释了很多。我用替换解决了这个问题。当恢复和强制同步不起作用时,我不得不这样做。仍然不确定这是怎么发生的。我没有碰那些文件。而且,在这个篡改业务消失后,我在尝试搁置更改时仍然遇到了一些这样的问题。突然,它再次显示被篡改的文件(更小、不同的一组)。不得不重新编辑。