SVN удалить изменения из репозитория, но оставить их в моей кассе? - PullRequest
3 голосов
/ 05 марта 2010

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

Я использую tortiseSVN версии 1.6.5 в Windows XP, если это что-то меняет.

пример: я обновил файл, теперь он находится на ревизии 659, предыдущая версия этого файла была 600. Я хотел бы сохранить версию 659 при оформлении покупки, но снова сделать текущую версию 600 самой последней (т.е. версию 660).

Я попытался сделать копию своей текущей версии, откатил обычную версию до 600, затем попытался зафиксировать ее обратно, но она сообщает, что изменений нет.

Ответы [ 3 ]

3 голосов
/ 05 марта 2010

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

2 голосов
/ 06 марта 2010

Вы хотите обратное слияние , а не обновление старой ревизии.

Допустим, вы только что подтвердили (и хотите откатить) ревизию, равную 42.

# rollback
svn merge -c -42
svn commit
# now r43 is good but we want r42's version of foo.c in our working copy
svn merge -c -43 foo.c
0 голосов
/ 06 марта 2010

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

...