我正在使用git-svn从SVN迁移到GitHub。以下是SVN存储库中文件的结构,我们将其称为projects_repo
Projects_Repo /
- BranchQA_Test/
- project1/
- project2/
- project3/
- project4/
- tags/
- project1/
- project2/
- trunk/
- project1/
- project2/
- project3/
- project4/
- project5/
我想仅将 trunk (主服务器)迁移到GitHub,每个项目都成为GitHub上的一个独立存储库,具有的历史记录和< strong>没有标签。
所以GitHub看起来像这样:
- project1/
- project2/
- project3/
- project4/
- project5/
我应该如何自定义git-svn命令? 现在,我正在使用以下内容:
git svn clone http://url/svn/projects_repo/
--username $username
--authors-file=authors_modified.txt
--trunk=trunk/project1/
--no-metadata -s project1 `
由于迁移要花费大量时间,因此我想提前确认一下。有谁知道这是否是正确的方法?非常感谢。
答案 0 :(得分:0)
正如评论中已经说过的:如果您使用--{trunk,branches,tags}
中的任何一个,请确保省略-s/--stdlayout
。尽管文档说--stdlayout
的优先级较低,但安全要比后悔更好。因为git-svn
的导入确实需要很多时间。
-T
--trunk =
-t--tags =
-b--branches =
-s --stdlayout
这些是init的可选命令行选项。每个标志都可以指向
到相对存储库路径(--tags = project / tags)
或完整网址(--tags = https://foo.org/project/tags)。
您可以指定多个--tags和/或--branches选项,以防您
Subversion存储库将标签或分支放置在多个路径下。
选项--stdlayout是设置树干,标签,分支的简写方式
作为相对路径,这是Subversion的默认设置。
如果还给出其他任何选项,则它们具有优先权。