【问题标题】:Subversion branching without having canonical directory structure没有规范目录结构的 Subversion 分支
【发布时间】:2011-10-07 08:59:58
【问题描述】:

我有一个 subversion 存储库,我想创建一个分支,但该存储库没有 /trunk/branches/tags 的规范目录结构 - 它只有应该在 @ 中的所有内容987654324@,在根文件夹中。

我是不是搞砸了,或者有什么方法可以纠正目录结构(或在现有目录结构中创建一个分支)?

【问题讨论】:

    标签: svn version-control branching-and-merging


    【解决方案1】:

    尝试一些类似的东西

    $ svn mkdir $REPO/{trunk,tags,branches}
    $ for f in $(svn ls $REPO |grep -v 'trunk/$\|tags/$\|branches/$'); do
    `   svn mv "$f" $REPO/trunk
    ` done
    $ svn cp $REPO/trunk $REPO/branches/branch0
    

    【讨论】:

    • 嗯...但是如果我需要从旧版本分支怎么办? $REPO/trunk 在旧版本中不存在...
    • 我想通了...基本上,我在一次提交中将所有内容移至主干;然后更新回我想要分支的版本;然后我将原始目录(在这个较旧的版本中仍然位于根目录)一一复制到 branch0(它不会让我将根目录本身复制到 branch0);然后我再次更新到最新版本(奇迹般地奏效了!);最后,在第二次提交中提交了分支。
    【解决方案2】:

    svn 中的分支只是对修订版的引用(看起来和行为就像一个完整的副本)。

    因此,只要您需要将所有当前主干复制到某处 - 您必须将所有文件从根目录移动到子目录。否则,您将没有有效点可将文件复制到。

    移动到子目录可以执行为创建通用目录并通过svn cp逐个文件和逐个目录从根目录复制所有文件和目录。

    【讨论】:

      猜你喜欢
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      相关资源
      最近更新 更多