我已经阅读了相当多的Red Bean Software SVN Book,以及有关SO的一些问题,但我想确保我第一次以正确的方式解决这个问题。我开始使用它之前的步骤。这是对的吗?

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

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- README.txt
    
  3. 通过命令行为存储库组织(包括项目和供应商)创建文件夹。

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- projects
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
    -- README.txt
    
  4. 在正确的项目名称下将供应商代码签入供应商文件夹。

  5. 在正确的项目名称下将供应商代码导出到主干中(不需要合并,因为我还没有项目主干文件)。
  6. 在/ svnroot / conf / passwd和/svnroot/conf/svnserve.conf中创建用户/权限。
  7. 确保svnserve正在运行,并且在我的本地SVN客户端(TortoiseSVN)上,检查我需要的项目的主干。
  8. 我不需要通过公共URL提供这个服务,所以我没有为Apache配置。服务器不在我们的网络中,而是我们租用的专用CentOS盒子。感谢您的任何想法和建议。

    修改

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

有帮助吗?

解决方案

  

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

你的意思是通过在subversion intallation目录中创建目录来创建存储库结构吗?那是非常错误的。

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

/ usr / local / svn 中,您拥有Subversion存储库的物理实现,并且您必须仅通过客户端访问它,而不是“手动”触摸它。

例如,使用file:// URL scheme

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

其他提示

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top