我已经研究了使用 diff 执行此操作的不同方法。我尝试的第一个选项是:
p4 diff -sa
打开的文件与软件仓库中的修订不同或丢失。
最初我认为这是一个设置了写权限位的文件,但在仓库中不存在。但是,我后来了解到 p4 并不像我最初想到的那样使用模式位来跟踪打开/未打开状态。
接下来我认为这个选项会起作用:
p4 diff -sl
每个未打开的文件,以及“相同”、“差异”或“错过”的状态,与其在软件仓库中的修订版本相比。
这没关系,除了“未打开”不包括“未跟踪”文件。虽然,当我运行它时,它产生了与文档相矛盾的完全不同的东西;它输出几乎所有被跟踪的内容,但也输出所有未被跟踪的内容,但将它们标记为“相同”。也许这意味着它没有被添加并且在depot中不存在,所以客户端与depot相同......?在我的 SVN 偏见看来,这是一个毫无意义的选择。
然后是“打开”选项。但这正是这样做的。它列出了已在客户端打开的 depot 中的所有文件;所以不是尚未添加客户端上修改的文件。
那么是否有一个我在某处遗漏的选项,它将提供一些有价值的答案,比如 SVN 和 CVS 能够用一个简单的命令来完成?
$ svn status
A added
M modified
R deleted
? untracked
L locked
C conflict
或者:
$ cvs -q up -Pd