我从一个不在我控制范围内的 SVN 服务器上检出了源代码。我想知道是否有新的更新可用,并将其分类为修改、新增等。通过谷歌搜索,我得知 "svn status --show-updates" 是我需要的命令。然而,当我在仓库根目录下运行它时,它并没有给我 A/M 标志,而只是在状态列中显示了 *。你们有什么想法如何解决这个问题吗?谢谢。
我从一个不在我控制范围内的 SVN 服务器上检出了源代码。我想知道是否有新的更新可用,并将其分类为修改、新增等。通过谷歌搜索,我得知 "svn status --show-updates" 是我需要的命令。然而,当我在仓库根目录下运行它时,它并没有给我 A/M 标志,而只是在状态列中显示了 *。你们有什么想法如何解决这个问题吗?谢谢。
A nice tool for the job is CommitMonitor.
svn status
命令可以告诉你,你的工作副本与你检出时的仓库副本是否有任何更改。使用--show-updates标志可以显示服务器上是否有可用的更新,*表示有更新。
如果您想要图形界面,可以使用Eclipse中的Subversive插件,但如果您想使用命令行,请尝试以下方法。您想要的功能类似于合并的dryrun...即在更新到HEAD时,您想要查看所有A、D、M的变化。请尝试以下命令:
svn merge --dry-run -r BASE:HEAD
svn status --show-updates
将在自上次更新以来更改的每个文件前面放置 *。
您可以使用以下命令查看工作副本基础(最后一次更新)和当前存储库头之间的详细更改:
svn log --revision BASE:HEAD
添加选项--verbose将列出所有更改的文件,前面加上M、A等。 添加选项--quiet将隐藏提交消息。
更新:
svn diff --summarize --revision BASE:HEAD
将在一个列表中列出所有范围内所有修订版本中更改的文件,以M、A等为前缀。我想这就是你要找的。