Как импортировать и объединить 2 каталога с помощью SmartSVN?
У меня такая ситуация:
- У нас есть веб-сайт, код которого не размещен в SVN.
- Я внес изменения на этом сайте.
- Фрилансер, нанятый клиентом (не членом нашей команды), вносил изменения параллельно; у нас нет возможности сотрудничать.
- Итак, у нас есть 2 папки на жестком диске с двумя версиями одного и того же сайта, измененными параллельно, как "ствол" и "ветвь" в SVN.
Вопрос заключается в следующем: возможно ли импортировать обе версии веб-сайта в репозиторий SVN, одну как транк, а другую как ветку, и получить из списка отличий SVN для редактирования измененных файлов и разрешения конфликтов? Похоже, SVN специально создан для решения таких проблем, но я не могу разобраться, как его решить.
- Я импортировал одну версию в багажнике.
- Я импортировал другую версию в ветке.
- Я выбрал "объединить" в SmartSVN, но все измененные файлы распознаются как "конфликт дерева", а не как "изменение файла", поэтому я не могу использовать встроенные средства разрешения конфликтов, потому что он пишет, что "файл не изменен", но в тот же момент состояние "файл находится в конфликте деревьев".
Для теста я даже сделал так: я кладу полностью одинаковые файлы в ветку и ствол, и когда я нажимаю "объединить", все файлы помечаются как "конфликт дерева", даже я знаю, что они полностью идентичны, т.е. выдает поддельный отчет о конфликте.
2 ответа
У вас все еще есть копия отредактированной? Если это так, используйте это для создания ствола, затем возьмите ветку в этой точке. Затем в двух отдельных рабочих копиях, одну из ствола и одну из ветви, скопируйте изменения (ветка) и изменения фрилансера (ветка) и зафиксируйте обе. После этого вы сможете объединить их, используя инструменты SVN.
Однако использование такого инструмента, как BeyondCompare в двух каталогах, может быть проще...
Вы не должны импортировать в транк и ветку, но сначала импортируйте общую базовую версию в транк, создайте ветвь, зафиксируйте изменения 1 там и остальные в транке. Теперь слияние должно работать. Если вы создаете файл в мастере и ветви, то возникает конфликт дерева при слиянии.