Как справиться с конфликтом деревьев при слиянии с использованием TortoiseSVN в случае удаленной папки?

У меня такой сценарий:

  • Папка с содержимым удаляется из локальной копии нашей ветки. Изменения зафиксированы в SVN Branch. (У нас все еще есть эта папка в багажнике)
  • Теперь я хочу объединить все, от ветки до магистрали
  • Я перехожу к локальной копии Trunk, Merge from SVN и выбираю нашу ветку (сначала сливаю изменения из SVN-Branch в LocalCopy-Of-Trunk)
  • Появляется конфликт дерева
  • Я закрываю окно tortoiseSVN и перехожу к структуре папок в проводнике.
  • Папка есть (но отмечена как конфликтующая в SVN)
  • Я удаляю структуру папок вручную (так как это хочу, я просто хочу)
  • Я перехожу в TortoiseSVN, щелкаю правой кнопкой мыши -> TortoiseSVN-> Решено, я вижу конфликт, я помечаю его как решенный и нажимаю ОК.

Это правильный способ сделать это?

В этот момент, когда я хочу сделать что-то еще с SVN в том же корне, я вижу эту ошибку:

Ошибка: отслеживание слияний невозможно с отсутствующими поддеревьями; попробуй восстановить предметы

Когда я хочу зафиксировать все элементы, которые я локально слил (от SVNBranch до LocalCopyOfTrunk) в Trunk, я вижу проблемную папку и ее содержимое со статусом отсутствует. Я отмечаю все, что хочу зафиксировать (без этих пропущенных вещей), нажимаю ОК и получаю следующее предупреждение:

Нерекурсивная фиксация перемещенных / переименованных папок (Эта фиксация не является рекурсивной, и для фиксации выбраны перемещенные / переименованные папки. Такие перемещения / переименования всегда выполняются рекурсивно в репозитории. Вы все равно хотите выполнить фиксацию?)

Когда я открываю родительскую папку проблемного корня, TortoiseSVN-> Revert и возвращаю их обратно, SVN снова запускается без проблем. Но как их удалить? Как лучше разрешить конфликт деревьев?


person akcasoy    schedule 15.11.2013    source источник


Ответы (1)


Это правильный способ сделать это?

No.

После выполнения слияния TortoiseSVN покажет окно со всеми конфликтами деревьев, отмеченными красным. При двойном щелчке по ним откроется диалоговое окно с параметрами. Одна из этих опций - «Принять текущее состояние рабочей копии (отметить как решенное)». Этот щелчок заставляет TortoiseSVN удалить папку за вас и пометить конфликт как разрешенный.

person Leonel Sanches da Silva    schedule 19.11.2013
comment
Subversion не позволит вам выполнить слияние, пока конфликт не будет разрешен. Как решить эту проблему, чтобы можно было слиться? - person Suncat2000; 26.09.2017
comment
TortoiseSVN не показывает эту опцию, по крайней мере, когда локальная ветвь изменила файлы внутри удаленной папки. Возможные варианты: Принять текущее состояние рабочей копии (пометить как решенное) и Решить позже. Нет возможности удалить файл и пометить его как решенный. Очень неинтуитивно. Вы должны зайти в проводник и выполнить работу самостоятельно, затем отметьте как решено. - person DannyMeister; 24.01.2018
comment
@DannyMeister Я думаю, TortoiseSVN был обновлен, и эта опция больше не существует. - person Leonel Sanches da Silva; 25.03.2018