这是创建具有多个项目和供应商的SVN回购协议的正确步骤和组织方式吗?
我已经读了很多红豆软件SVN的书,以及这里的一些问题,但是我想确保在开始使用它之前,我第一次是以正确的方式一步一步地进行的。这是正确的吗这是创建具有多个项目和供应商的SVN回购协议的正确步骤和组织方式吗?,svn,repository,organization,Svn,Repository,Organization,我已经读了很多红豆软件SVN的书,以及这里的一些问题,但是我想确保在开始使用它之前,我第一次是以正确的方式一步一步地进行的。这是正确的吗 安装SVN 在/usr/local/SVN处创建SVN存储库。目录结构如下所示: -- conf -- db -- format -- hooks -- locks -- README.txt 通过命令行为存储库组织(包括项目和供应商)创建文件夹 将供应商代码签出到正确项目名称下的供应商文件夹中 以正确的项目名称将供应商代码导出到主干中(无需合并,因为我
-- conf
-- db
-- format
-- hooks
-- locks
-- README.txt
svn mkdir
命令而不是通过文件系统创建必要的文件夹
在/usr/local/svn
中,您拥有Subversion存储库的物理实现,并且您必须仅通过客户端访问它,并且决不能“用手”触摸它
例如,使用file://URL方案
svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"
你的想法似乎基本正确,但你的术语有点错误。这真的会让SVN的人感到困惑,因为你在SVN的上下文中使用的词有特定的含义。要扩展Davide所说的内容: 2) 通过执行类似于
svnadmin create/usr/local/svn
的操作来创建存储库
3) 创建你的文件夹。您不需要(或想要)列表中不在projects/
下面的部分。这些其他目录是SVN用来跟踪修订的,它们实际上不在存储库中。如果您在系统中的某个位置创建了一个包含project\u name/
子树的目录层次结构,那么您可以根据需要在其上运行svn import
,每个项目一次(每次为目的地提供不同的名称)。这将创建目录结构
4) 我想您不是指“签出”,而是指“导入”或“签入”(在SVN术语中通常称为“提交”,但“签入”是可以理解的)。导入将把供应商文件添加到存储库中。签出意味着“创建此版本目录的本地副本供我使用”,称为工作副本。团队中的每个开发人员都应该有自己的工作副本。开发人员对其工作副本进行更改后,他们将svn commit
这些更改发送到存储库。团队中的其他开发人员将运行svn update
,将这些更改从存储库中获取到他们自己的工作副本中
5) 我最近没有读过SVN的书,但我认为它指示您将供应商分支的版本复制到主干中,而不是导出它。以SVN术语导出意味着取消目录树的版本,这显然不是您想要的
如果您在第2步之后立即执行第6步和第7步,您可能会发现事情会变得更简单,因为这样您就可以使用
svn://
协议来访问剩余步骤的存储库,而不是像Davide建议的那样使用文件://
,它只在本地机器上工作。太棒了,这就是我为什么要问的原因,因为我知道我可能会错过一些东西:)
svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"