无法使用git svn在Subversion仓库中设置Git
||
我正在尝试通过git svn将Git与Subversion一起使用,并将Subversion存储库中包含多个项目。项目结构如下所示:
根/
*项目1 /
树干/
标签/
SpecificBranchName1 /
SpecificBranchName2 /
项目2 /
树干/
标签/
SpecificBranchName1 /
等等
通过执行
git svn clone -s http://path/to/repo/Root/Project1 --no-follow-parent
,我可以将Project1放入git仓库中。但是,主干,标签以及SpecificBranchName1和SpecificBranchName2在我的树结构中。
如果删除--no-follow-parent标志,则会收到一条错误消息,提示“无法找到http:// path / to / repo / Root / Project1 / SpecificBranchName1 \的revmap”。如果尝试,我会收到相同的消息:git svn clone -T trunk -t tags -b . http://path/to/repo/Root/Project1
我在git repo中实际上并不需要分支,因此我尝试使用以下命令跳过它:git svn clone -s --ignore-paths=\"^SpecificBranchName1\" http://path/to/repo/Root/Project1
,但是出现了相同的错误。
据我所知,这种Subversion文件结构很奇怪。通常,分支位于./分支下,但由于某些原因,它们与标记和主干包含在同一文件路径中。反正还有什么可以克服的?
没有找到相关结果
已邀请:
2 个回复
谷靛
标志? 我建议您在svn中创建一个branchs文件夹,然后将移动的branch移入其中。这样可以避免您痛苦不堪。 如果由于各种原因您不能这样做,则可以对project1根目录执行git int,编辑.git / config并更改
下的branchs部分:
(根据相对网址的情况调整以上内容) 然后进行提取。
你换
也就是说,与您使用的第二个命令几乎相同,但是没有-b部分。如果不需要,7ѭ将不会尝试查找分支。 之后,您可以按照manojlds的建议尝试编辑
。 编辑:好的,我运行进一步的测试。我用您的文件夹结构重新创建了一个svn存储库。我试图在上面用ѭ7,一切都进行得很顺利。我正在使用git 1.7.1。 然后,我在Google代码搜索中查找了字符串“无法找到revmaps”,发现了这一点:
我当然不会阅读ѭ7的整个代码,但是我的猜测是Git在主干中找到了一个合并点,并且合并来自一条Git不了解的路径,并且对于由于某些原因无法达到。 我试图重现这种情况,但一切都又成功了。可能的解决方案: 如果不是最新版本,请升级您的Git版本 确定中继中是否确实有来自SpecificBranchName1的合并,如果是,则仅使用该版本之后的修订来初始化您的Git存储库 我希望这有帮助...