Как я могу принудительно вернуть обратно так конкретный номер ревизии с помощью командной строки SVN? - PullRequest
4 голосов
/ 02 марта 2011

Я слишком рано говорил в своем предыдущем посте о ломке вещей.

Я пытаюсь вернуться к ревизии 1124 с помощью команды svn update -r 1124, но яПродолжайте получать сообщение об ошибке следующим образом:

[prague]$ svn update -r1024
U    app/webroot/css/group_themes/green.css
U    app/webroot/css/style.css
Skipped 'app/webroot/index.php'
svn: Failed to add directory 'app/webroot/images/users': an unversioned directory of the same name already exists

Мы вернули кое-что, но все еще не точную версию, которую я знаю, я проверил прошлой ночью ... Я думал, что это будет многопроще просто вернуться к определенной ревизии: (

Ответы [ 3 ]

13 голосов
/ 02 марта 2011

Без коммита

Попробуйте извлечь редакцию 1124 в новом пустом каталоге, чтобы у вас не возникало конфликтов с уже существующими каталогами.

Итак svn checkout -r 1124 в новом каталоге.

С коммитом

Согласно руководству svn, если вы хотите зафиксировать предыдущую ревизию, вам нужно использовать обратное слияние. См. http://svnbook.red -bean.com / ru / 1.0 / ch04s04.html , «Отмена изменений».

svn merge -c -1124 http://svn.example.com/repos/calc/trunk с последующим

svn commit -m "Rollback merge to revision 1124"

3 голосов
/ 02 марта 2011

Не удалось добавить каталог 'app / webroot / images / users': неверсионный каталог с таким именем уже существует

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

 $ mv app/webroot/images/users app/webroot/images/users.orig/
 $ svn update -r1024

Кроме того, сделайте себе одолжение и посмотрите на некоторые альтернативы SVN, такие как Mercurial, Bazaar или Git. Я нашел переключатель очень приятным;)

0 голосов
/ 13 октября 2015

Вы можете просто обновить версию, используя

svn up -r 1124 

Но это не позволит вам зафиксировать изменения , так как SVN требует от вас обновить вашу рабочую копию до HEAD, прежде чем вы сможетесовершить.Вместо этого вы можете

svn merge -r HEAD:1124 yourFile
svn ci yourFile -m "Reverting back to rev 1124 "
...