SVN更新摘要

3

我从一个不在我控制范围内的 SVN 服务器上检出了源代码。我想知道是否有新的更新可用,并将其分类为修改、新增等。通过谷歌搜索,我得知 "svn status --show-updates" 是我需要的命令。然而,当我在仓库根目录下运行它时,它并没有给我 A/M 标志,而只是在状态列中显示了 *。你们有什么想法如何解决这个问题吗?谢谢。


小世界:http://news.ycombinator.com/item?id=511507。我猜这个问题被认为足够接近编程相关了,哈哈。 :) - unwind
有人在 HN 上建议我在这里发布,两个问题都是我提出的。解开。 - testdrive
4个回答

9

Stefan,很遗憾,我需要在Linux上完成这个。 - testdrive
很抱歉,CommitMonitor只能在Windows上运行。我不知道是否有类似的Linux工具 - 或许其他人知道... - Stefan

2

svn status命令可以告诉你,你的工作副本与你检出时的仓库副本是否有任何更改。使用--show-updates标志可以显示服务器上是否有可用的更新,*表示有更新。

如果您想要图形界面,可以使用Eclipse中的Subversive插件,但如果您想使用命令行,请尝试以下方法。您想要的功能类似于合并的dryrun...即在更新到HEAD时,您想要查看所有A、D、M的变化。请尝试以下命令:

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

John,我想知道的是,仓库中是否有新的或修改过的文件。 - testdrive
好的,我想我明白你需要什么了。一个合并干运行。 - John Ellinwood

1
svn status --show-updates

将在自上次更新以来更改的每个文件前面放置 *。

您可以使用以下命令查看工作副本基础(最后一次更新)和当前存储库头之间的详细更改:

svn log --revision BASE:HEAD

添加选项--verbose将列出所有更改的文件,前面加上M、A等。 添加选项--quiet将隐藏提交消息。

更新:

svn diff --summarize --revision BASE:HEAD

将在一个列表中列出所有范围内所有修订版本中更改的文件,以M、A等为前缀。我想这就是你要找的。


-1
尝试使用eSvn。它具有实时显示文件/目录状态的功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接