svn 移动到不存在的目录

svn move to non-existent directory

我以前用过svn move但不是那样我在这里问是因为我不能犯错误:

我有一个项目是另一个项目的子项目,现在应该是顶级独立项目:

当前布局(嵌套):

/
└── company
    └── otherproject
        └── trunk
            └── project

所需布局(分隔):

/
└── company
    └── otherproject
    │   └── trunk
    └── project
        └── trunk

我不确定我是需要先 运行 svn mkdir 还是 svn move 为您创建新目录。

也不清楚 svn move 之后的 svn commit 应该怎么做。

首先,正如 royalTS 所说,版本控制的重点在于能够回滚。这包括您能想到的各种变化。如果修订版 1234 决定一切 (!) 都需要被残酷地清除(也许又是一年中的那个时候),修订版 1233 一点也不在乎。

现在,针对您的问题:

你说目标目录不存在。事实并非如此。您想要将 project 移动到 company。显然 company 已经存在。不需要 mkdir 任何东西。

这里有 2 个选项。

  1. 编辑本地工作副本:

    # cd to somwhere in the working copy, let's say `company`.
    cd /working-copy/company
    
    # move
    svn mv otherproject/trunk/project .
    
    # commit changes
    svn ci
    
  2. 使用远程地址(这里以http为例,具体以实际配置为准)

    svn mv http://..../company/otherproject/trunk/project http://..../company  
    

    这将立即提交。

顺便说一下,如果您指定了不存在的文件或目录,Subversion 会像其他人一样向您抛出一条愤怒的错误消息。

也许你应该建立自己的回购和运行一些实验...