Возврат основной версии в GC / SVN к более ранней версии (т. Е. Удаление плохих версий и запуск заново) - PullRequest
0 голосов
/ 05 декабря 2010

Итак, кто-то из нашей команды использовал TortoiseSVN и сделал около десяти обязательств за пять минут (без комментариев, natuerlich), после чего наше программное обеспечение перестало работать должным образом.Остальные принимали обязательства в командной строке, и никаких проблем не возникало.Я думаю, что он делал вещи, о которых он не знал, и теперь у нас есть куча проблем, которые мы не можем решить.Он отлично работал на r29, и когда кто-то возвращает свою локальную копию на r29, программное обеспечение ведет себя как ожидалось.Сейчас я не буду подробно описывать все способы, с помощью которых мы пытались решить эту проблему, но мы до сих пор не смогли перенести r29 на новую версию.Кажется, что все команды возврата не работают с созданием НОВОЙ версии, а поддержка не кажется актуальной, когда в файловой системе происходят серьезные изменения.

Так что вы можете сказать мне, как извлечь старыйверсия и зафиксировать ее как последнюю версию?

Ответы [ 3 ]

2 голосов
/ 05 декабря 2010

Вы можете вернуться к r29, выполнив команду слияния в чистом рабочем каталоге (файлы не изменены):

svn merge -rHEAD:29 .
svn commit -m'rolling back to -r29.'

Это означает, что «создайте патч, образованный разницей между HEAD (последний) и -r29, и примените этот патч здесь» Это эффективно отменяет все изменения, выполненные с -r29.

2 голосов
/ 05 декабря 2010

См. Главу об отмене изменений в книге Контроль версий с Subversion

Например, чтобы отменить изменение 30:

svn merge -c -30 http://path/to/your/repo/trunk

Что по сути дела, так этосоздайте новый коммит, который отменяет изменение с r30.В Subversion нет отмены в строгом смысле, история всегда сохраняется (и это хорошо, IMO)

2 голосов
/ 05 декабря 2010

У вас должна быть возможность экспортировать r29 в одно место на вашем локальном компьютере, проверить версию заголовка в другом месте и перезаписать все файлы в заголовке с помощью r29, а затем зафиксировать их.Это немного глупо, но должно работать.

Кроме того, вы можете выполнить обратное слияние ...

...