Perforce挂起的更改列表差异脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perforce挂起的更改列表差异脚本相关的知识,希望对你有一定的参考价值。

有人有这样的脚本要分享吗?

  • 将待定的更改列表编号作为输入
  • 输出统一的差异(包括打开以供添加的文件)

我从经验中了解到,许多与perforce一起工作的人都有这些蠢事。当通过“p4 diff”区分新添加的文件时,我真的可以使用“文件不在客户端视图”的整个问题的帮助。

答案

我没有时间找到合适的解决方案所以我使用了这个衬垫:

p4 describe $CHANGELIST | sed -ne 's:^\.\.\. \(.*\)#[0-9][0-9]* [a-z][a-z]*$:\1:p' | xargs p4 diff -du

下面是它的工作原理:

自 -

...待处理的更改列表显示为“待处理”,并且不显示文件差异。

p4 describe $CHANGELIST

它本身不会做,但你可以用它作为起点。它(除其他外)获得了$CHANGELIST中更改的文件列表。

sed -ne 's:^\.\.\. \(.*\)#[0-9][0-9]* [a-z][a-z]*$:\1:p'

仅打印<depot-file>形式的行的... <depot-file>#<revision> <action>部分

xargs p4 diff -du

获取库文件列表并在其上运行p4 diff -du-d旗帜将u(统一格式)传递给你的$P4DIFF程序(应该是diff)。

另一答案

这对我有用:

p4 diff2 //depot/a/b/c/... //depot/a/b/c/...@=$CHANGELIST | grep -v '<none>'

路径越具体,执行越快。您还可以针对不同的分支对变更列表进行diff2。

另一答案

p4 describe -du changelist不适合你吗?

以上是关于Perforce挂起的更改列表差异脚本的主要内容,如果未能解决你的问题,请参考以下文章

AsyncTaskLoader onLoadFinished 有一个挂起的任务和配置更改

vs2013-执行签入挂起的更改,提示没有挂起的更改(实际代码已修改)

无法更新数据库以匹配当前模型,因为存在挂起的更改

Visual Studio 2015 在签入后不会立即删除挂起的更改(TFS 2015)

vscode中挂起的更改特别多,应该怎么做

确定用于在 perforce 中提交新更改的更改列表