Как прервать текущее активное слияние SVN? - PullRequest
0 голосов
/ 03 мая 2018

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

Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
        (mc) my side of conflict, (tc) their side of conflict,
        (s) show all options: 

Из того, что я могу сказать, ни один из них не эквивалентен "прерыванию" (равно как и ни один из вариантов, показанных (ых)). Как мне выйти из этого? Безопасно ли ctrl + z ?

1 Ответ

0 голосов
/ 04 мая 2018

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

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

filename.working
filename.rOLDREV
filename.rNEWREV

для каждого файла filename, который имел конфликт слияния. Это из раздела «Основное использование» документов, стр. 29 / pdf, стр. 50 вышеуказанной ссылки для SVN 1.7. Этот документ ссылается на filename.mine вместо filename.working, поэтому очевидно, что это было какое-то изменение между версиями.

Отсюда вы можете использовать команды командной строки, чтобы вернуть вашу рабочую копию в ее состояние до того, как вы попытались выполнить слияние. Например, предположим, что вы попытались объединить

$ svn merge -r NEWREV: OLDREV ^ / филиалы / тестирование /.

из корня вашей рабочей копии ветви testing после того, как вы забыли, что у вас есть незафиксированные изменения в testing/filename. Когда конфликт прерывает слияние, выберите «(p) отложить», чтобы вернуться в командную строку. testing/filename.mine - это файл, который вы хотите сохранить - файл в состоянии рабочей копии до слияния. Переместите его в свою домашнюю папку или куда-нибудь подобное для сохранности.

Большинство файлов в вашей рабочей копии будут соответствовать их версиям OLDREV.

** ПРИМЕЧАНИЕ *: на данный момент я закончил писать этот ответ и попытался его отправить. Переполнение стека предоставило мне наложение CAPTCHA, в котором не было поля CAPTCHA, потому что я не разрешил правильный JavaScript для него. Я разрешил JavaScript и перезагрузил страницу, которая вытерла оставшуюся часть моего ответа, которая не была сохранена, и я никоим образом не переписываю ее.

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