检查服务器上的文件差异

时间:2010-09-22 20:27:18

标签: svn diff

我的计算机上有一个存储库的工作副本,我知道它已在服务器上更新。我想知道如何使用svn命令行参数来区分新版本和工作副本中的版本。

我有办法做到这一点吗?

2 个答案:

答案 0 :(得分:112)

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

svn diff -r HEAD <file>

实际上,它会反过来吐出更改,即它告诉你如何从HEAD转到BASE。所以技术上你想要:

svn diff -r BASE:HEAD <file>

你能不用键盘敲击?只有你和你的神知道答案。

答案 1 :(得分:17)

工作副本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:存储库中的最新修改。相当于BASE iff <file>签出/更新为工作副本后,未提交任何更改。