SVN-如何创建一个带有;“单一存储库多项目布局”;?
我刚刚安装了Subversion(Collabnet)。文档解释了如何创建我已经创建的存储库,但我不知道如何创建特定的布局。我想创建这个布局SVN-如何创建一个带有;“单一存储库多项目布局”;?,svn,version-control,collabnet,Svn,Version Control,Collabnet,我刚刚安装了Subversion(Collabnet)。文档解释了如何创建我已经创建的存储库,但我不知道如何创建特定的布局。我想创建这个布局 c:\repositories +- MyProjectRepository +- project1 +--- trunc +--- branches +--- tags +- project2 +--- trunc +--- bran
c:\repositories
+- MyProjectRepository
+- project1
+--- trunc
+--- branches
+--- tags
+- project2
+--- trunc
+--- branches
+--- tags
+- project3
+--- trunc
+--- branches
+--- tags
文档仅允许我从生成此布局的模板创建新存储库:
c:\repositories
+- MyProjectRepository
+-- project1
+--- trunc
+--- branches
+--- tags
如何实现第一个布局?i、 e.单个存储库中的多个项目
编辑
这3个目录是否被视为特殊目录?例如,如果我手动创建目录结构,subversion会识别这些目录吗?i、 e.如果我在project3中创建标记,标记链接将与project3/标记关联
谢谢Subversion将接受您想要的任何目录结构。只需从存储库的顶层签出您创建的存储库,然后删除现有结构。然后,您可以设置您喜欢的目录(在任何配置中),然后将新结构提交回存储库
注意:这只适用于新(空)存储库。已经有更改的存储库会有点混乱,但想法仍然是一样的。您也可以使用
svn mkdir <repo>/MyProjectRepository -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1 -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/trunk -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/branches -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/tags -m "project1 tree created"
svn mkdir/MyProjectRepository-m“project1树已创建”
svn mkdir/MyProjectRepository/project1-m“project1树已创建”
svn mkdir/MyProjectRepository/project1/trunk-m“project1树已创建”
svn mkdir/MyProjectRepository/project1/branchs-m“project1树已创建”
svn mkdir/MyProjectRepository/project1/tags-m“project1树已创建”
我知道这是一个老话题,但我注意到没有人提到使用svn import
,这是我一直做的事情,似乎是启动新存储库甚至以后添加项目的简单方法
首先,使用svnadmin create
创建存储库
然后,创建一个容器文件夹(我们称之为结构
),并将要导入存储库的确切结构放入该文件夹中
您将得到如下文件夹:
\structure
\project1
\branches
\tags
\trunk
\project2
\branches
\tags
\trunk
\project3
\branches
\tags
\trunk
然后,您只需执行svn导入结构http://path-to-your-repository
编辑:有关如何使用
svn import
命令的更多详细信息,请查看此页面。然后它会自动将trunc/branchs/tags目录识别为“特殊”目录吗?Subversion不会真正将任何目录识别为特殊目录(在大多数实现中,.svn
除外)。所有“特殊”目录只不过是约定,它们的使用完全取决于用户对它们做什么。有些客户可能会对他们做一些特殊的事情,但这不是必需的。一般来说,用户只需查看他们正在处理的项目的Trunk
目录,并在需要时切换到特定的分支或标记。这与我的建议相同,但命令行和svn会自动添加目录,对吗?如果我正确理解您的建议,要签出主干或任何其他分支,它们必须首先存在于服务器中。asker的存储库中缺少这些目录,因为他刚刚设置了服务器,正如您所说的,这些目录不是特殊目录,只是一种约定。另外,.svn
对于unix隐藏文件也是典型的,在windows中,您可能有一个正常的svn
dir开关被隐藏。执行svn mkdir/proj
直接在服务器上创建一个目录。。。无需稍后提交。根据我的理解,文档仅允许我从生成此布局的模板创建一个新的存储库是OP已经具有作为存储库的第二个结构。你对.svn
目录的看法是正确的,我在对我答案的评论中提到的目录可能会有所不同。。。我错过了这个产生这个布局的部分。。。所以你的建议是正确的!