У меня есть файл SVN, в котором сейчас отсутствует некоторая логика, и поэтому мне нужно вернуться примерно на 40 ревизий к тому времени, когда в нем была нужная логика. Кроме попыток просмотреть diff файл в командной строке (очень трудно читаемый), есть ли способ получить копию этого файла для проверки, чтобы я мог изучить ее для восстановления частей?
Как просмотреть старую версию SVN файла?
Ответ 1
Вы можете обновить до более старой версии:
svn update -r 666 file
Или вы можете просто просмотреть файл напрямую:
svn cat -r 666 file | less
Ответ 2
Также интересно сравнить файл текущей рабочей ревизии с тем же файлом другой версии.
Вы можете сделать следующее:
$ svn diff -r34 file
Ответ 3
Обновить до определенной версии:
svn up -r1234 file
Ответ 4
Я считаю, что лучший способ просмотра версий - использовать программу/приложение, которое упростит для вас. Мне нравится использовать trac: http://trac.edgewall.org/wiki/TracSubversion
Он предоставляет отличный браузер svn и позволяет очень легко вернуться к вашим версиям.
Может быть немного переборщить, чтобы установить это для одной конкретной ревизии, которую вы хотите проверить, но это может быть полезно, если вы собираетесь делать это много в будущем.
Ответ 5
Используя последние версии Subclipse, вы можете просмотреть их, не используя подсказку cmd. В файле просто щелкните правой кнопкой мыши = > Team = > Переключиться на другую ветку/тег/ревизию. Помимо поля ревизии, вы нажимаете кнопку выбора, и вы увидите все версии этого файла.
Ответ 6
Чтобы прямо ответить на вопрос о том, как "получить копию этого файла":
svn cat -r 666 file > file_r666
затем вы можете просмотреть вновь созданный file_r666
с помощью любой программы просмотра или сравнения, например,
kompare file_r666 file
красиво показывает различия.
Я опубликовал ответ, потому что принятые команды ответа фактически не дают копию файла и потому что svn cat -r 666 file | vim
не работает с моей системой (Vim: Error reading input, exiting...
)