3

macports svn 存储库如下所示:

  branches/
  contrib/
  distfiles/
  downloads/
  tags/
  trunk/
  users/

我想使用 git svn 导入它并使用标准功能来正确解释分支和标签。

我想看到的是一个包含目录的 git repo

  trunk/ 
  contrib/
  distfiles/
  downloads/
  users/

换句话说,我想将分支目录中的分支保留为分支(我认为是主干),并将标签保留为 git 标签。但是,我希望能够在不切换分支的情况下同时查看trunk、contrib、distfiles、下载和用户的内容。

这与这个问题类似,但不同之处在于这些额外的目录(contrib、distfiles、downloads、users)没有自己的标签或分支。在我看来,它们应该是主干的子目录,因此另一种解决方案是以某种方式检查主干,这些额外的子目录出现在主干下。但是,由于原因,这可能是不可能的。

如果没有任何建议如何轻松处理此问题,以便我可以轻松地同时浏览 contrib 和 trunk 而无需做任何真正困难的事情?我可以陪审团用子模块来装配它,但这似乎是在自找麻烦。

4

1 回答 1

2

当然:

git svn clone http://repo_hostname/top_level_dir_above_those

没有任何选项, git svn 不会寻找分支,而只是按照你的意愿检查整个事情。

更新:

在进一步澄清之后,无法在同一修订版的所有分支中查看 git 存储库的某些部分...... git 版本整个目录树结构。

但是,您可以使用上述命令将每个顶级目录签出到其自己的存储库中,然后为您的分支、标签和主干使用标准布局的 git svn 存储库。让它们保持最新会很痛苦,但是为了方便起见,shell 脚本可以为每个 repo 执行 fetch。

于 2012-06-27T14:16:13.800 回答