如何在发出“svn update”命令之前查看从库中将要更新的内容?

我已经将大量文件中的更改从Eclipse中提交到SVN存储库。

然后,我去Linux网站的目录,我想更新这些更改从存储库到那里的目录。

我想说“svn update project100”,它将更新“project100”下所有我添加和更改的文件等目录。

但是,我不想一定要更新我没有做的更改。 所以我想我可以说“svn status project100”,但是当我这样做的时候,我会得到一个完全不同的变化列表,我的列表中没有一个是奇怪的。

因此,为了确保只有我的更改被更新到Web目录,我不得不导航到每个我知道存在更改的目录,并且只显式更新这些文件,例如“svn update newfile1.php”等。这是乏味的。

任何人都可以在这里了解一下标准的工作stream程,也就是说,在执行“svn update”命令之前,如何获得所有将要做出的更改的准确清单? 我认为这是“状态”命令。

尝试:

svn status --show-updates 

或(相同但较短):

 svn status -u 

根据你想要知道你的工作副本和最新的svn服务器存储库之间的内容,而不更新你的本地工作副本,你可以这样做:

如果你想知道在svn服务器库中已经改变了什么,运行命令:

 $ svn st -u 

如果你想知道在你的本地工作副本和svn服务器库中是否修改了同一个文件,运行命令:

 $ svn st -u | grep -E '^M {7}\*' 

如果要获取特定版本和HEAD之间的文件列表,请运行命令:

 $ svn diff -r revisionNumber:HEAD --summarize 

如果你想得到一个在特定版本之间改变的文件列表,运行命令:

 $ svn diff -r revisionNumber:anotherRevisionNumber --summarize 

如果你想看看什么会被更新(没有实际更新),运行命令:

 $ svn merge --dry-run -r BASE:HEAD . 

如果你想知道svn服务器库中某个特定文件的内容与你的工作拷贝相比有什么变化,运行命令:

 $ svn diff -r BASE:HEAD ./pathToYour/file 

如果你想知道svn服务器库中所有文件的内容与工作副本相比有什么变化,运行命令:

 $ svn diff -r BASE:HEAD . 

您可以通过发出以下内容来查看更新内容(无需实际更新):

 svn merge --dry-run -r BASE:HEAD . 

更多细节在这里 。

这是我正在寻找的。 首先检查了谷歌,但svn help结束了我来:)

 svn diff -r BASE:HEAD . 

相同,但更短的:):

 svn st -u 

你可以使用'svn diff'来查看你的工作副本和版本库的区别。

从理论上讲,你可以在你创build的分支中进行所有你自己使用的改变。 那么你就可以合理地确信你是唯一承诺的人。

恕我直言,function开发应该这样做。

然后你可以从这个分支而不是从中继线更新这个目标机器。