当前位置:  开发笔记 > 运维 > 正文

这是创建具有多个项目和供应商的SVN仓库的正确分步和组织吗?

如何解决《这是创建具有多个项目和供应商的SVN仓库的正确分步和组织吗?》经验,为你挑选了2个好方法。

我已经阅读了相当多的Red Bean Software SVN Book,以及SO中的一些问题,但我想确保我在第一次循环之前以正确的方式解决这个问题.我开始使用它.它是否正确?

    安装SVN.

    在/ usr/local/svn创建SVN存储库.目录结构如下所示:

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- README.txt
    

    通过命令行为存储库组织(包括项目和供应商)创建文件夹.

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- projects
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
    -- README.txt
    

    在正确的项目名称下将供应商代码签出到供应商文件夹中.

    在正确的项目名称下将供应商代码导出到trunk中(不需要合并,因为我还没有项目主干文件).

    在/ svnroot/conf/passwd和/svnroot/conf/svnserve.conf中创建用户/权限.

    确保svnserve正在运行,并在我的本地SVN客户端(TortoiseSVN)上,检查我需要的项目的主干.

我不需要通过公共URL提供服务,所以我没有为Apache配置.服务器不在我们的网络中,而是我们租用的专用CentOS盒子.感谢您的任何想法和建议.

编辑:

我想我很困惑,因为我没有代码或项目开始,所以我从供应商的代码开始新鲜.我是否需要在服务器上的某个位置创建一个目录结构,其中包含我的project_name w/vendor,trunk,branches和tags子文件夹,将其导入我的repo,然后将代码从供应商导入到vendor文件夹中?我的想法是,我可以从供应商那里获得更新,然后将这些更新与我对我的主干所做的任何更改合并.



1> Davide Guala..:

通过命令行为存储库组织(包括项目和供应商)创建文件夹.

您是指通过在subversion intallation目录中创建目录来创建存储库结构吗?那是非常错的.

您必须通过svn mkdir命令而不是通过文件系统创建必要的文件夹.

/usr/local/svn您拥有Subversion存储库的物理实现时,您必须仅通过客户端访问它,而不是"手动"触摸它.

例如,使用file:// URL方案

svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"



2> rmeador..:

你似乎有大多数正确的想法,但你的术语有点不对劲.这将真正混淆SVN人,因为你在SVN的上下文中使用具有特定含义的词.扩展达维德说的话:

2)通过执行类似的操作来创建存储库svnadmin create /usr/local/svn.

3)创建您的文件夹.您不需要(或想要)列表中不属于下方的部分projects/.这些其他目录是SVN用于跟踪修订的内容,它们实际上并不在存储库中.如果在系统的某个位置创建包含project_name/子树的目录层次结构,则可以svn import根据需要多次运行该目录,每个项目运行一次(每次为目标指定一个不同的名称).这将创建您的目录结构.

4)而不是"结账",我认为你的意思是"导入"或"签入"(在SVN用语中通常称为"提交",但是"checkin"将被理解).导入会将供应商文件添加到存储库.Checkout意味着"为我创建此版本化目录的本地副本",称为"工作副本".团队中的每个开发人员都应该拥有自己的工作副本.在开发人员对其工作副本进行更改之后,他们svn commit会将更改发送到存储库.团队中的其他开发人员将运行svn update以将这些更改从存储库中获取到他们自己的工作副本中.

5)我最近没有读过SVN书,但我认为它指示你将供应商分支的版本复制到主干,而不是导出它.以SVN术语导出意味着取消对目录树的版本,这显然不是您想要的.

如果您在步骤2之后立即执行步骤6和7,您可能会发现更容易,因为这样您可以使用svn://协议访问存储库以获取剩余步骤,而不是file://Davide建议的,这只适用于本地计算机.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有