Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将svn文件夹移动到自己的存储库_Svn_Svnadmin_Svndumpfilter_Svndump - Fatal编程技术网

将svn文件夹移动到自己的存储库

将svn文件夹移动到自己的存储库,svn,svnadmin,svndumpfilter,svndump,Svn,Svnadmin,Svndumpfilter,Svndump,我有一个不断扩展的存储库。现在我正在清理这些内容,并希望将每个项目移动到一个单独的存储库中。我当前的设置: [ProjectRepo] - Projects - Software1 - trunk (VS2010 solution inside here) - .sln - vs project #1 - vs project #2 - vs project #3 - branches - tags -

我有一个不断扩展的存储库。现在我正在清理这些内容,并希望将每个项目移动到一个单独的存储库中。我当前的设置:

[ProjectRepo]
- Projects
  - Software1
    - trunk (VS2010 solution inside here)
      - .sln
      - vs project #1
      - vs project #2
      - vs project #3      
    - branches
    - tags
  - Software2
    - trunk (VS2010 solution inside here)
      - .sln
      - vs project #1
      - vs project #2
      - vs project #3      
    - branches
    - tags
  - Shared
    - shared component #1 (vs project)
      - trunk
      - branches
      - tags
    - shared component #2 (vs project)
      - trunk
      - branches
      - tags
现在,我想将每个项目和每个解决方案移动到主干目录中自己的存储库中。我一直在尝试使用svnadmin dump和svndumpfilter,但问题是节点路径一直保持旧结构。如何达到以下结构

[Software #1 Repo]
- trunk
- branches
- tags

[Software #2 Repo]
- trunk
- branches
- tags

[Shared Component #1 Repo]
- trunk
- branches
- tags

如果您能够使用svndumpfilter成功地筛选项目,我认为如果项目之间存在任何“交互”(如复制或合并),那么您就不可能使用旧结构创建新的存储库,然后通过svn copy和svn delete创建新结构,即将Software1Repo/Projects/Software1/trunk复制到Software1Repo/trunk,然后svn删除它,等等

在不同的存储库中移动项目有什么好处?通常在一个repo中包含所有代码更方便。我们在软件的几个部分之间共享组件。在我看来,在单独的存储库中,将某个标签绑定到修订版更容易。。。或者你对此有不同的看法吗?看看svn:external属性,了解如何使用共享组件来处理依赖关系:我们目前使用的是svn:externals,然而,当您标记使用与组件相关的修订而不是整个存储库的总修订号时,不是更容易/更好吗?根据我的经验,这只是习惯的问题。此外,在备份策略中,维护多个存储库增加了用户管理的复杂性—需要管理更多的访问和passwd文件,并且在这种情况下,很难在software2中重用software1的一部分。