Как разрешить конфликт слияния со свойствами SVN? - PullRequest
40 голосов
/ 30 сентября 2008

Это долго вызывало у меня проблемы - как правильно разрешить конфликт слияния в свойствах SVN, установленных в каталоге? Скажем, например, есть два разработчика, работающие над проектом, где svn: ignore установлен в некотором каталоге. Если оба разработчика внесут изменения в это свойство, при обновлении второго из них возникнет конфликт слияния.

В отличие от конфликтов слияния файлов, в каталоге создается файл с именем «dir_conflicts.prej», который второй разработчик должен прочитать и исправить вручную. Обычно в итоге я возвращаю все свои изменения в локальную копию, а затем заново устанавливаю эти свойства вручную с помощью информации в dir_conflicts.prej. Тем не менее, это довольно громоздко при работе с большим списком URL-адресов в свойстве svn: externals, которое используют многие наши проекты.

Должен быть лучший способ сделать это - кто-нибудь знает как?

Ответы [ 7 ]

11 голосов
/ 10 октября 2008

Просто быстрое обновление после некоторых дополнительных исследований - не можно легко объединить свойства SVN. Мой первоначально описанный метод (возврат, объединение данных из файлов .prej, propset, re-commit) представляется наилучшим способом решения проблемы такого типа.

3 голосов
/ 31 января 2017

У меня была такая же проблема.

Я пытался использовать Команда-> Редактировать конфликты свойств , но мой STS завис и не ответил, поэтому я принудительно закрылся.

Можно решить с помощью TortoiseSVN

Вот как я решил

  • выберите папку, в которой находится dir_conflicts.prej
  • щелкните правой кнопкой мыши TortoiseSVN -> Разрешить ...
  • Затем он попросит разрешить конфликт собственности
  • Разрешить и сохранить
3 голосов
/ 06 октября 2011

Тем временем это возможно в Eclipse + Subclipse (Indigo) с помощью функции

Команда-> Редактировать конфликты свойств

(только что попробовал с конфликтующим svn: игнорировать свойства)

Эта функция открывает диалоговое окно, в котором отображаются обе версии свойств (локальная и репозиторий), где вы можете скопировать и вставить, а затем разрешить конфликт с помощью Team-> Mark Resolved.

1 голос
/ 01 октября 2008

Вы имеете в виду конфликт слияния при коммите / обновлении или слиянии веток?

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.

Subversion не предполагает, что каждый файл или подкаталог в рабочей копии каталог предназначен для версии контроль. Ресурсы должны быть явно находится под управлением Subversion используя svn add или svn import команды.

...

Заставить каждого пользователя этого хранилища добавлять шаблоны для этих ресурсов в свои области конфигурации времени выполнения будет не просто бременем, но потенциально может конфликтовать с потребностями конфигурации других рабочих копий, которые пользователь извлек .

1 голос
/ 30 сентября 2008

Хотелось бы предложить более обнадеживающее решение, но из моего опыта в настоящее время невозможно объединить свойства SVN с помощью TortoiseSVN. Смотри http://svn.haxx.se/tsvn/archive-2008-09/0212.shtml.

0 голосов
/ 17 марта 2016

У меня был похожий конфликт. Я открыл dir_conflicts.prej в текстовом редакторе и увидел, что svn ignore list был изменен. К счастью, содержимое списка было таким же, изменился только порядок. Так что в TortoiseSVN 1.9.3 я просто щелкаю правой кнопкой мыши по папке, затем TortoiseSVN -> Resolve.... И конфликт был исправлен.

0 голосов
/ 19 февраля 2014

Просто чтобы прояснить ситуацию, SVN, похоже, использует файл dir_conflicts.prej для определения того, что каталог имеет конфликт. Если вы намерены вручную разрешить конфликт, вы можете просто удалить файл dir_conflicts.prej, а затем вручную установить свойства svn так, как вы этого хотите. (Конечно, убедитесь, что вы получили то, что вам нужно из файла .prej, прежде чем удалить его!)

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