svn: как объединить две папки в одну? - PullRequest
3 голосов
/ 15 октября 2011

проблема звучит просто, но я просто не понимаю это правильно.Как я могу объединить две папки в одну?

Допустим, у меня есть эта структура 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 из module2 в module1

После слияния все должно выглядеть так:

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, но я делаю это неправильно.

Большую часть времени я получаю сообщение об ошибке, например, папкуsrc уже существует в module1.Это верно, но я на самом деле не забочусь о папках, они должны быть интегрированы как на окнах.В других случаях при объединении все файлы из модуля 1 удаляются и перезаписываются файлами из модуля 2.

С уважением

Ответы [ 3 ]

1 голос
/ 10 января 2014

Сценарий, который описан на http://jv -ration.com / 2014/01 / merge-svn-directoryies / , работает примерно так же. Вам просто нужно пропустить шаг № 3, который удаляет файлы из целевой папки (в вашем случае, модуль 1).

После выполнения скрипта вы можете использовать любой из инструментов SVN для проверки различий измененных файлов.

0 голосов
/ 16 октября 2011

Похоже, что нет простого решения этой глупой проблемы.

В качестве обходного пути я переместил все свои источники с помощью eclipse в перспективе Java.

Отметьте 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
0 голосов
/ 15 октября 2011

Я думаю, вам нужно будет сделать svn rename для каждого файла.Вы можете сделать скрипт, который принимает вывод svn list, чтобы помочь автоматизировать его.Вам не удастся объединить файлы с одинаковыми именами: вам придется делать это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...