首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用git-svn或svn2git从svn转换到git时,如何更改存储库的基本路径并尽可能保留分支/标记?

当使用git-svn或svn2git从svn转换到git时,如何更改存储库的基本路径并尽可能保留分支/标记?
EN

Stack Overflow用户
提问于 2009-08-18 08:21:51
回答 2查看 1.2K关注 0票数 1

我正在将一个项目从SVN迁移到git (完全不需要git SVN的SVN互操作功能),并且我尝试过同时使用git svnsvn2git (nirvdrum's fork on github),我遇到的一个问题是我们在SVN中的存储库布局是这样的:

example.com/website/trunk|branches|tags/base/code

因此,当我将其导入git时,存储库的根目录包含一个目录,base (不是真实名称),然后是所有内容。这对我们来说是一个问题,因为它增加了一些复杂性。

有没有一种好的简单的方法可以将存储库的根目录更改为base,无论是在导入过程中还是使用git的mad历史更改功能进行追溯?否则,在git中,不应该是存储库根目录并包含其他不相关代码的目录必须是存储库的根目录,这很奇怪,由于某种原因,在SVN中情况并非如此(即存储库的根目录是base,而父目录没有任何svn内容)。

希望这是一个很快的问题,有人可以很容易地回答。

哦,顺便说一下,我确实有一些想要导入的分支和标记,但同样,这些应该根在base,而不是base的父目录。如果它们不能像那样导入,那也没什么大不了的,因为它们几乎毫无用处,团队以前也不太热衷于使用SVN,但如果有它们就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-26 00:07:39

svn2git也有这样的选项;使用Charles的答案中的示例,它将是:

代码语言:javascript
复制
svn2git --trunk example.com/website/trunk/base/code \
        --tags example.com/website/tags/base/code \
        --branches example.com/website/branches/base/code

注意:我还没有尝试过这样做,但据我所知,svn2git只是将这些转换为git-svn-T|t|b选项。

票数 1
EN

Stack Overflow用户

发布于 2009-08-18 08:43:08

您应该能够执行以下操作:

代码语言:javascript
复制
git svn init -Texample.com/website/trunk/base/code -texample.com/website/tags/base/code -bexample.com/website/branches/base/code

而不是接受默认值或使用-s|--stdlayout

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1292531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档