SVN - 如何使用“单一存储库多项目布局”创建subversion存储库?

时间:2012-01-06 16:05:28

标签: svn version-control collabnet

我刚刚安装了Subversion(Collabnet)。该文档解释了如何创建我已经完成的存储库,但我无法弄清楚如何创建特定的布局。我想创建这个布局

c:\repositories
 +- MyProjectRepository
     +- project1
          +--- trunc
          +--- branches
          +--- tags
     +- project2
          +--- trunc
          +--- branches
          +--- tags
     +- project3
          +--- trunc
          +--- branches
          +--- tags

该文档仅允许我从生成此布局的模板创建新的存储库:

c:\repositories
 +- MyProjectRepository
     +-- project1
          +--- trunc
          +--- branches
          +--- tags

我如何实现第一次布局?即单个存储库中的多个项目。

修改

3个目录是否被视为特殊目录?例如,如果我手动创建目录结构,subversion会识别这些目录吗?即如果我在project3中创建了一个标签,那么标签链接将与project3 / tags相关联。

谢谢

3 个答案:

答案 0 :(得分:3)

Subversion将接受您想要的任何目录结构。只需从存储库的顶级中查看您创建的存储库,然后删除现有结构。然后,您可以设置您喜欢的目录(在任何配置中),然后将新结构提交回存储库。

注意:这只适用于 new (空)存储库。已经有变化的存储库会有点混乱,但这个想法仍然是一样的。

答案 1 :(得分:1)

另外你可以使用

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"

答案 2 :(得分:0)

我知道这是一个老话题,但我注意到没有人提到使用svn import,这是我一直以来所做的,似乎是一个简单的方法来启动一个新的存储库,甚至以后添加一个项目。

首先,使用svnadmin create创建存储库。

然后,您创建一个容器文件夹(让我们称之为structure),然后将要导入的确切结构放入此文件夹中的存储库。

你最终会得到一个像这样的文件夹:

\structure
    \project1
        \branches
        \tags
        \trunk
    \project2
        \branches
        \tags
        \trunk
    \project3
        \branches
        \tags
        \trunk

然后,您只需执行svn import structure http://path-to-your-repository

修改:查看此页面,详细了解如何使用svn import命令http://svnbook.red-bean.com/en/1.7/svn.tour.importing.html