SVN 日志命令行不显示单个合并修订 (svn log -r)

SVN log command line does not show single merged revision ( svn log -r )

通过TortoiseSVN进行了一次大合并,subversion版本为1.6

了解 SubVersion(最高版本 1.5)管理修订的方式:

Subversion 1.5 and later keeps a record of merges using properties. This allows us to get a more detailed history of merged changes. For example, if you develop a new feature on a branch and then merge that branch back to trunk, the feature development will show up on the trunk log as a single commit for the merge, even though there may have been 1000 commits during branch development.

现在有几个问题:

如果我进入合并分支的 TortoiseSVN 历史,我看不到合并的修订,除非我检查 "include merged revisions" 标志,在这种情况下它们显示为灰色,这很公平!

合并消息包含一些错误:

Correcting Shell script that identifies DB objects which have been dropped  from SVN.
Trying to figure out why the shell variable is not getting used properly in
"svn log -qvr..." command

........
(and even) More syntax fixes .. testing call to shell


........
(and even) More syntax fixes .. testing call to shell


........
(and even) More syntax fixes .. testing call to shell

o

来自 Windows 而不是显示以下错误的消息:

svn: E720008: Write error: Not enough storage is available to process this command.

这可能不是什么大问题,所以我们不要关注这个..

让我们关注命令行,当我 运行 svn log 命令时,我在提交消息中遇到了同样的问题:

我可以使用 -g 参数查看所有历史记录(包括合并的修订版),再次公平

主要问题是我无法再使用 SVN LOG -r 命令获取特定的合并修订版

例如,您可以看到 TortoiseSVN 以灰色显示的修订版 69524(已选中包含合并的修订版)

但是 svn log -r 69524 return 一条空白消息,这发生在所有数千个合并修订中:

这正常吗?

欣赏 SVN 现在管理合并的方式,但是我可能无法再使用 svn log -r 获取特定的合并修订信息吗?

这是因为合并过程中出现问题还是这是新版本颠覆的正常行为?

老实说,这对我来说真的很奇怪!请大家帮我理解,这让我很痛苦!

谢谢

已解决!

运行 来自分支根目录的命令解决了这个问题,老实说,我期待合并的修订被列在发布分支中,因为包含在其中,即使是在另一个代码行树中进行的(模拟git squash/rebase/merge+commit)

之间的不同行为

在我看来,您应该 运行 svn log --verbose --revision 60524 https://svn.example.com/repos/svn log --verbose --revision 60524 https://svn.example.com/repos/branches 或指定另一个实际受 r60524 影响的分支。

我可能误解了这个问题,但看起来你提供的是错误的URL。修订版 r60524 没有触及 /Release 分支,因此该命令不显示任何内容。因此,我建议 运行 针对你存储库根目录的命令并添加 --verbose 选项。您将看到哪些路径/分支/r60525 受到影响。

请注意,Apache Subversion 中的路径区分大小写。确保输入正确的存储库 URL.