2

我在我的 SVN 存储库中有一个名为“Version4”的分支,
现在我从这个分支创建了另一个名为“Version4.5”的分支,因此该分支的父级应该是“Version4”分支。
这个层次结构是否在 SVN 视图中的某个地方显示?因为当我打开存储库浏览器时,我可以在同一级别并排看到这两个分支的文件夹,而不是一个在另一个之下。
也许层次结构对 SVN 根本不重要,我可以从任何分支合并到任何分支(即使在逻辑上它没有意义)?

4

3 回答 3

4

也许层次结构对 SVN 根本不重要,我可以从任何分支合并到任何分支(即使在逻辑上它没有意义)?

subversion 存储库中目录树的布局确实无关紧要。拥有名为“trunk”、“tags”、“branches”的文件夹并使用它们只是一种约定(但当然是一个非常有用的约定)。

您可以通过检查版本历史来查看哪个分支是从哪个其他分支(或标签或其他)创建的。它将显示为创建分支的 COPY 命令的源路径。

我强烈建议您使用 GUI 工具或类似Trac的工具,以便能够轻松地调查这些事情。

于 2010-12-08T12:05:23.230 回答
2

在 Subversion 中,分支和标记是通过常规的目录复制来完成的;这不是一个 bultin 概念,也没有什么特别之处。存储库浏览器中显示的位置在您进行复制时选择的位置。如果您对它不满意,您可以像往常一样移动东西。分支之间存在的唯一物理关系是:

  • 共同祖先(分支前)
  • 合并历史(分支后)
于 2010-12-08T12:04:23.373 回答
0

哪个存储库浏览器 - Web 界面?这是对整个存储库的最新(或固定)修订版的一个非常简单的视图。

如果您使用的是 1.5+ 的服务器和客户端,那么您可能拥有的最好的svn:mergeinfo属性是每个修订版的根目录,

svn propget svn:mergeinfo http://myserver/svn/branches/version4.5/

它列出了您所做的任何复制和合并的源分支和修订。我认为第一个条目将是创建此分支的原始条目。

于 2010-12-08T12:05:35.597 回答