我的计算机上有一个存储库的工作副本,我知道它已在服务器上更新。我想知道如何使用svn
命令行参数来区分新版本和工作副本中的版本。
我有办法做到这一点吗?
答案 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>
可能感兴趣的是BASE
和HEAD
之间的差异;自您上次更新工作副本以来已检入存储库的更改:
svn diff -r BASE:HEAD <file>
当然,BASE
和工作副本之间存在差异;自上次更新工作副本以来所做的更改:
svn diff <file>
讨论了三个版本:BASE
,工作副本和HEAD
。
BASE
:<file>
上次检出/更新。使用svn revert
<file>
的本地修改,最近已经检出/更新为BASE
HEAD
:存储库中的最新修改。相当于BASE
iff 自<file>
签出/更新为工作副本后,未提交任何更改。