检查服务器上的 diff 和 file

我的机器上有一个存储库的工作副本,我知道它已经在服务器上更新过了。我想知道如何使用 svn命令行参数得到新版本和工作副本中版本之间的差异。

有什么办法能让我这么做吗?

62464 次浏览

工作副本为修订版。存储库的最新副本是修订版 HEAD。这将比较您的工作副本与首长的修订:

svn diff -r HEAD <file>

实际上,它会反过来显示更改,也就是说,它告诉您如何从 HEAD 到 BASE。所以技术上来说,你想要:

svn diff -r BASE:HEAD <file>

你能省去键盘的敲击吗? 只有你和你的神知道答案。

工作副本HEAD之间的区别; 为了生成您的 工作副本,需要对存储库(HEAD)中现在的内容进行更改:

svn diff -r HEAD --old=<file>

令人感兴趣的是,BASEHEAD之间的区别; 自上次更新 工作副本以来已经签入存储库的更改:

svn diff -r BASE:HEAD <file>

当然还有 BASE工作副本之间的区别; 自上次更新 工作副本以来所做的更改:

svn diff <file>


讨论了三个版本: BASE工作副本HEAD

  • BASE: <file>最后一次检出/更新。使用 svn revert工作副本会恢复到什么样的状态
  • 工作副本 : 对 <file>的局部修改,这些修改最近已经签出/更新为 BASE
  • HEAD: latest modifications in repository. Equivalent to BASE 如果 no changes have been committed since <file> was checked out / updated as 工作副本.