Как бороться с конфликтом деревьев при объединении с использованием TortoiseSVN, в случае удаления папки?
У меня есть этот сценарий:
- Папка с содержимым удаляется из локальной копии нашей ветки. Изменения фиксируются в SVN Branch. (У нас все еще есть эта папка в Транке)
- Теперь я хочу объединить все от ответвления до ствола
- Я перехожу к локальной копии Trunk, Merge from SVN и выбираю нашу ветку (сначала объединяя изменения из SVN-Branch в LocalCopy-Of-Trunk)
- Дерево Конфликт появляется
- Я закрываю окно tortoiseSVN и захожу в структуру папок в проводнике.
- Папка есть (но помечена как конфликтующая в SVN)
- Я удаляю структуру папок вручную (так как это хочу, я просто хочу)
- Я захожу в TortoiseSVN, щелкаю правой кнопкой мыши ->TortoiseSVN->Resolved, там я вижу конфликт, отмечаю его как разрешенный и нажимаю OK.
Это правильный способ сделать это?
В этот момент, когда я хочу сделать что-то большее с SVN в том же корне, я вижу эту ошибку:
Ошибка: отслеживание слияния не допускается с отсутствующими поддеревьями; трио восстановление предметов
Когда я хочу зафиксировать все вещи, которые я локально слил (от SVNBranch до LocalCopyOfTrunk) в Trunk, я вижу проблемную папку и ее содержимое с отсутствующим статусом. Я отмечаю все вещи, которые я хочу зафиксировать (без этих пропущенных вещей), нажимаю ОК и получаю это предупреждение:
Нерекурсивная фиксация перемещенных / переименованных папок (эта фиксация не является рекурсивной, и для фиксации выбираются перемещенные / переименованные папки. Такие перемещения / переименования всегда выполняются в хранилище рекурсивно. Вы хотите зафиксировать в любом случае?)
Когда я открываю родительскую папку проблемного корня TortoiseSVN->Revert и возвращаю их обратно, SVN снова запускается без проблем. Но как мне их удалить? Как лучше решить этот конфликт деревьев?
1 ответ
Это правильный способ сделать это?
Нет.
После выполнения слияния TortoiseSVN покажет окно со всеми конфликтами деревьев, отмеченными красным. Двойной щелчок по ним покажет диалоговое окно с параметрами. Один из этих параметров - "Принять текущее состояние рабочей копии (пометить как разрешенный)". Этот щелчок заставляет TortoiseSVN удалить папку и пометить конфликт как разрешенный.