我的机器上有一个存储库的工作副本,并且我知道它已在服务器上更新。我想知道如何通过使用svn
命令行参数来获得新版本与工作副本中的版本之间的区别。
我有办法吗?
Answers:
工作副本是BASE版本。存储库中的最新副本是版本HEAD。这会将您的工作副本与HEAD版本进行比较:
svn diff -r HEAD <file>
实际上,这将反向吐出更改,即告诉您如何从HEAD到BASE。所以从技术上讲,您想要:
svn diff -r BASE:HEAD <file>
您可以保留键盘笔触吗?只有你和你的神知道答案。
之间的区别工作副本和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
当且仅当没有修改已经提交,因为<file>
被检查出/更新工作副本。