【问题标题】:svn: How to merge two folders into one?svn:如何将两个文件夹合并为一个?
【发布时间】:2011-10-14 20:00:04
【问题描述】:

这个问题听起来很简单,但我就是不明白。 如何将两个文件夹合并为一个?

假设我有这个 maven 结构:

module1
  - src/main/java
      - com.app.func1
           - file1
      - com.app.func1.some2
           - file3
           - file4

module2
  - src/main/java
      - com.app.func1
           - file1
           - file111
      - com.app.func1.some2
           - file333
           - file6

我想将整个 src/main/java 从模块 2 合并到模块 1 中

合并后应该是这样的:

module1
  - src/main/java
      - com.app.func1
           - file1 // it would be nice if the tool would let me visually merge this item
           - file111
      - com.app.func1.some2
           - file3
           - file333
           - file4
           - file6

这两个模块都已经在版本控制之下,我不想丢失历史记录。

如果有人可以帮助我,那就太好了。

我已经尝试过 Eclipse subversive/subclipse und Tortoise SVN,但我做得不对。

大多数时候我都会收到一些错误消息,例如 module1 中已经存在文件夹 src。没错,但我实际上并不关心文件夹,它们应该像在 Windows 上一样集成。 其他时候,通过合并,模块 1 中的所有文件都被删除并被模块 2 中的文件覆盖。

问候

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    http://jv-ration.com/2014/01/merge-svn-directories/ 上描述的脚本有点类似。您只需跳过第 3 步,该步骤会从目标文件夹(在您的情况下为模块 1)中删除文件。

    脚本执行后,您可以使用任何 SVN 工具来查看更改文件的差异。

    【讨论】:

      【解决方案2】:

      我认为您将不得不为每个文件创建一个svn rename。你可以编写脚本来获取svn list 的输出来帮助自动化它。但是,您不会让它合并具有相同名称的文件:您必须手动执行这些操作。

      【讨论】:

        【解决方案3】:

        对于这个愚蠢的问题似乎没有简单的解决方案。

        作为一种解决方法,我在 Java 透视图中使用 eclipse 移动了所有源代码。

        标记 com.app.func1 和 src/main/java (maven) 下的所有文件夹并用鼠标将它们移动到 module1 src/main/java 或使用 Refactor -> Move

        Eclipse 会自动做正确的事,它使用 svn move 而不是哑移动,所以历史不会被删除。不幸的是,您无法移动非 java 文件夹,因为您会收到上述错误(文件夹已存在)。

        提示:这两个模块必须已经处于版本控制之下,并且必须安装一些 SVN 插件,否则您将丢失所有历史记录条目。

        module2
        - src/main/java
          + com.app.func1
          + com.app.func1.some2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-30
          • 1970-01-01
          • 1970-01-01
          • 2011-10-07
          • 2015-02-06
          • 1970-01-01
          • 1970-01-01
          • 2020-08-05
          相关资源
          最近更新 更多