【问题标题】:creating a subversion branch after creating project at repository root在存储库根目录创建项目后创建颠覆分支
【发布时间】:2010-12-28 13:25:28
【问题描述】:

请。见Creating a Subversion branch。我创建了一个 URL 为 http://reposerver/svn/repository/ 的存储库,并签出了一个工作副本并开始将文件添加到根目录,而不是添加到主干文件夹中。

现在,我们需要创建一个分支,但我们没有“主干”文件夹。从上面的链接中,用户“Wrikken”建议我们“可能的解决方法是现在创建一个文件夹主干,并将根无分支目录的当前内容移动到该位置。”

现在,我们不知道如何“将根无分支目录的当前内容移动到该位置”。我们应该使用什么命令来做同样的事情?

当我们执行 /var/svn/repository 的 ls -la 时,我们会看到以下内容

total 32
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 conf
drwxr-xr-x 3 www-data www-data   4096 2010-12-28 18:23 dav
drwxr-sr-x 6 www-data subversion 4096 2010-12-28 18:31 db
-r--r--r-- 1 www-data subversion    2 2010-12-28 18:20 format
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 hooks
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 locks
-rw-r--r-- 1 www-data subversion  229 2010-12-28 18:20 README.txt
-rw-r--r-- 1 root     root         95 2010-12-28 18:41 svn-commit.tmp

TL DR:我们需要创建一个分支,而我们的存储库没有“主干”和“分支” 那么我们需要使用哪些命令将现有存储库内容移动到主干目录?

谢谢,

【问题讨论】:

    标签: linux svn branch branching-and-merging


    【解决方案1】:

    在存储库工作副本的根目录中执行以下命令(ls 应该输出存储库的内容,而不是问题中引用的文件和目录)。

    svn mkdir trunk
    svn mv `ls | egrep -v '^branches$` trunk
    svn ci -m 'Create trunk dir and move trunk contents into it.'
    

    egrep -v '^branches$ 匹配除branches 之外的所有内容。 mv 命令足够聪明,尝试将 trunk 移动到自身中,尽管它会向您大喊大叫,并显示您可以放心忽略的错误。

    【讨论】:

    • 您可能应该指出,这必须在工作副本的目录中执行,而不是在 anjanb 正在查看的文件系统中的存储库位置。
    【解决方案2】:

    使用您选择的颠覆客户端。它应该有一个移动操作。 (与 CVS 不同,在 subversion 中移动文件/目录会保留移动文件/目录的历史记录。)

    例如,如果您使用的是 Tortoise SVN 客户端,这里是帮助文件的相关部分:

    http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 2014-01-25
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      相关资源
      最近更新 更多