Обработка SVN-конфликта - PullRequest
8 голосов
/ 30 марта 2011

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

Ответы [ 6 ]

16 голосов
/ 30 марта 2011

Если вы используете клиент оболочки, такой как TortoiseSVN, то щелкните правой кнопкой мыши «решить с помощью моего», как упоминает @Adi.

В командной строке это

svn resolve --accept mine-full <FILENAME>
7 голосов
/ 30 марта 2011

Если вы работаете в командной строке вместо использования пользовательского интерфейса, svn спросит вас, когда вы выполните «svn update» что-то вроде:

Обнаружен конфликт в 'bar.c': (p) отложить(e) Редактировать (tf) Их заполнено (mf) Mine-full

То, что вы хотите, заполнено mine (mf).Конечно, это перезапишет любые изменения, сделанные другим человеком, поэтому вы можете вместо этого (e) отменить.

Если вы решите (p) отменить это, вам потребуется изменить файл позже и отметитьэто как решено (svn resolved), сопровождаемое svn commit.

4 голосов
/ 27 июля 2015

В командной строке:

svn resolve --accept working <FILENAME>
1 голос
/ 17 августа 2012

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

Если вы используете Visual Studio, я работаю над инструментом , который выделит части редактируемого вами файла, которые были изменены кем-то другим.

1 голос
/ 30 марта 2011

Щелкните правой кнопкой мыши конфликтующий файл и выберите «использовать мой».К вашему сведению, другой альтернативой является «использовать их».Конечно, для этого требуется пользовательский интерфейс.

0 голосов
/ 11 июля 2017

Просто для тех, кто имеет много конфликтов и не хочет разрешать их один за другим, сохраняя ваши изменения, просто запустите:

svn resolve . -R --accept mine-full

Смежный вопрос SO

...