我有一种情况,我想在Perforce中区分两个分支。通常我会使用diff2
进行服务器端差异,但在这种情况下,分支上的文件太大,diff2
调用最终会在我的服务器上填满/tmp
差异他们和差异失败。
我无法关闭我的服务器来纠正这个问题所以我正在查看将内容检出磁盘并在命令行上使用diff
来检查和比较内容。
问题是:大多数文件中都有正在扩展的RCS关键字。
我知道可以通过打开要编辑的文件并从进程中的文件中删除-k
属性来删除文件中的关键字扩展,但这似乎有点暴力。我希望我能告诉p4 sync
命令不要在结账时扩展关键字。我似乎找不到办法做到这一点?有可能吗?
作为一种可能的替代解决方案,有人知道您在调用它时是否可以告诉p4 diff2
哪个目录用于临时空间?如果我可以告诉它在Perforce服务器上使用丰富的NAS空间而不是/tmp
,我可以使它工作。
如果以任何方式更改答案,我正在使用Perforce的2010.x版本。
答案 0 :(得分:2)
我不知道在同步时禁用关键字扩展。这是我会尝试的:
1)在两组文件之间创建分支规范 2)运行“p4文件//路径/到/ files / ... | cut -d'#' - f 1> tmp”
上述文件的路径应该是您创建的分支规范的右侧
3)p4 -x tmp diff2 -b
这告诉p4迭代'tmp'中的文本行并将它们视为命令的参数。我认为你的服务器上的/ tmp将以这种方式在每个文件之间清除,防止它填满。
遗憾的是,我没有足够大的文件来测试它的工作原理,所以这完全是理论上的。
要将p4d仅使用TEMP或TMP的临时目录更改为其他路径,然后重新启动p4d。如果你在Windows上,请确保调用'p4 set -S perforce TMP ='为Perforce服务设置变量;没有-S perforce,你只需为当前用户设置它。