我正在继承一个代码库,它在trunk中有很多目录,真的应该存在于单独的repos中。我的所有开发都发生在一个特定的目录中,这应该是trunk中唯一的东西。
例如:/ path / to / repo / trunk / true_trunk
repo中的所有标记和分支都专门指向此'true_trunk'目录。
问题是:我无法让git-svn表现得像这个trunk的子目录真的是trunk。因此,我的trunk检查用我的工作目录填充了trunk的全部内容,还有十几个其他不相关的代码库。
有没有办法让git-svn只与这个'true_trunk'能直播对话?
任何指定此目录的尝试都会产生以下结果: 使用更高级别的URL:svn:// path / to / trunk / true_trunk =>的svn://路径/到/回购
答案 0 :(得分:3)
git svn init
的-T
选项允许您指定将其视为“trunk”目录的目录。我过去曾使用过奇怪排列的Subversion目录树,但它已经成功了。您可能需要进行一些实验以获得适合您情况的正确选项组合。
答案 1 :(得分:1)
您可以使用-T
的{{1}}选项指定真正的中继线,分支机构也git svn clone
,标签-b
。我认为对于这种布局,您可能需要单独指定每个分支/标记,这样的东西应该适合您,
-t
您可能需要从svn生成分支和标记的转储,以帮助格式化此命令
$ git-svn clone \
-T svn://path/to/trunk/true_trunk \
-b svn://path/to/branches/branch1/true_trunk \
-b svn://path/to/branches/branch1/true_trunk \
-t svn://path/to/tags/tag1/true_trunk \
-t svn://path/to/tags/tag2/true_trunk \
repository_name