-stdlayout在git svn clone中做了什么?

时间:2011-03-19 10:33:16

标签: svn git git-svn

我刚刚发现this question关于从没有--stdlayout的克隆中恢复的问题。我没有找到这个标志的文件 - 它做了什么?

2 个答案:

答案 0 :(得分:38)

Subversion没有 branch tag 的任何概念。相反,通常只需将存储库的内容复制到目录中即可进行模拟。

为了让git svn能够识别分支和标签以及主分支(“主干”),您必须使用--tags(或{明确告诉它在哪里找到它们) {1}}),-t(或--branches)和-b(或--trunk)选项。

然而,许多Subversion存储库遵循Subversion书中列出的标准约定-T--trunk=/trunk --branches=/branches --tags=/tags(或--stdlayout)对此约定进行编码,因此每次克隆Subversion存储库时都不必传递相同的参数。

您可以在-s手册页中找到此信息,您可以在Unix下使用git-svn(1)以及通过内置Git帮助系统man git-svn以独立于操作系统的方式访问该页面。 Kernel.Org上也提供All of the Git man pages,它们通常是您搜索git-svn(1)时的第一个搜索结果。

答案 1 :(得分:13)

--stdlayout-s)告诉git-svn /branches中的文件夹应作为分支导入,/tags中的文件夹是项目状态的快照并应作为标签导入。主分支将设置为/trunk

相当于--trunk=trunk --tags=tags --branches=branches