如何使SVN在不进行更改的情况下执行命令

如何使SVN在不进行更改的情况下执行命令,svn,Svn,在CVS中,我可以执行以下操作 cvs -n update 如果我运行了一个更新,但没有改变任何东西,我应该知道会发生什么。我主要用这个来检查我是否会遇到很多冲突 在svn中,我希望使用switch命令执行相同的操作 即: 我的理解是,有一个——干运行开关,它通过运动,但实际上不提供任何输出。因此,这是成功的一半:) 如何让它进行试运行并显示结果(哪些文件将被修改,哪些文件将被更新、删除、添加和冲突) 谢谢 更新: 对于那些建议我使用干跑步的人,我尝试了以下方法 cvs -n update

在CVS中,我可以执行以下操作

cvs -n update
如果我运行了一个更新,但没有改变任何东西,我应该知道会发生什么。我主要用这个来检查我是否会遇到很多冲突

在svn中,我希望使用switch命令执行相同的操作

即:

我的理解是,有一个——干运行开关,它通过运动,但实际上不提供任何输出。因此,这是成功的一半:)

如何让它进行试运行并显示结果(哪些文件将被修改,哪些文件将被更新、删除、添加和冲突)

谢谢

更新: 对于那些建议我使用干跑步的人,我尝试了以下方法

cvs -n update
svn交换机url—干运行

我得到

Subcommand 'switch' doesn't accept option '--dry-run'

理论上它听起来不错,但似乎不起作用,我做错什么了吗?

据我所知,
试运行
会告诉你它会做什么,包括什么会有冲突等等

(在该页面上搜索“干运行”)

使用--干运行

--干运行
完成运行命令的所有动作,但不在磁盘或存储库中进行任何实际更改

发件人:

你的问题是(到目前为止仍然是)

如何使SVN在不进行更改的情况下执行命令

答案是:使用--dry run

实际上--dry run不能与switch命令一起工作是很不幸的,但是@Don给了您一个很好的解决方法

使用merge和--dry run与您将用于交换机的URL相同。它应该给你你正在寻找的信息,即使你最终使用的是switch而不是merge


当然,您也可以提交一个。

使用
merge
--dry run
开关使用的URL相同。即使最后使用的是
switch
而不是
merge
,它也会为您提供所需的信息。

在svn更新中,您可以使用
svn status--show updates
来显示所有要更新的项目


对于合并,您可以使用
--dry run
解决任何问题。

除了svn status-u之外,svn status-u将显示将更新哪些文件。 此oneliner将为您提供有关将更改哪些内容的输出:

svn diff-r BASE:HEAD

如果有很多更改,您可能希望通过管道将其传输到更多


svn diff-r BASE:HEAD | more

我不明白为什么您认为svn开关等同于cvs更新?不是。我知道svn中的开关不同于更新cvs。这很明显。这个问题。在CVS中,我们可以对任何CVS命令使用-n选项。svn的等价物是什么,我想将其与交换机一起使用?为什么要使用交换机进行试运行?检查Don的答案,我想
merge
可能就是你要找的。我不明白你的问题。。。。我想做一个切换,我想知道冲突、添加、更新等方面的影响。。。这有什么奇怪的?@hhafez答案是——svn可以选择干运行。它不能与switch一起工作是很不幸的,但Don已经给了您一个解决方案,所以要高兴;-)@hhafez请阅读参考指南--干运行可能不适用于所有svn命令,但大多数(switch显然是一个例外)@lothar不幸的是,
commit
也是一个例外。事实上,语句“-dry run”可能不适用于所有svn命令,但大多数“似乎都是错误的。@MikeMiller如果要检查将提交的文件,请不要使用该命令编写消息。通过这种方式,编辑器将为您打开以介绍消息,即将提交的文件列表将显示向上添加--提交前的试运行将非常有用,因为输出(文件列表)可以通过管道传输到其他命令(例如,上传到网站的更改文件列表,以便在“真实”之前预览这些文件)svn ci已完成)。