2008-10-20 3 views
11

Можно создать дубликат:
History of changes to a particular line of code in Subversion?Можно ли просмотреть историю строки в SVN?

Использование SVN и/или Tortoise SVN (или любой другой инструмент SVN, действительно), можно просмотреть историю для конкретной строке файл?

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

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

Излишне говорить, что этот процесс неудобен в лучшем случае, особенно для особо старых файлов. Кто-нибудь знает о автоматизированном методе выполнения этого?

ответ

0

svn blame

+0

или svn аннотация, или svn похвалы. Все зависит от настроения. ;-) – JesperE 2008-10-20 18:57:30

+6

Это не позволяет вам просматривать историю строки с течением времени - только кто ее изменил до последней версии. – 2012-05-02 21:05:32

1

Используйте TortoiseSVN Виновата опция контекстного меню - это имеет очень хороший интерфейс для изучения истории отдельных линий.

2

В частности, вы можете использовать «svn wame» с некоторыми аргументами, чтобы посмотреть конкретные версии. Это может быть большим в файле ... svn blame -r REV#

Повторение нескольких ревизий (если вы работаете из командной строки) - это быстрый скрипт.

1

Я предпочитаю использовать svn annotate над svn blame. Я хотел бы, чтобы и другие. :-(

4

Я один не уверена, что вина делает то, что потребности Аскера.

Я нашел команду «изменения авторства» TortoiseSVN, чтобы быть под рукой. Она работает вину на два пересмотров и сравнивает их вместе в дифф инструмент.

результат дает вам то, что линия в настоящее время является то, что он был в целевой пересмотре, и кто изменил его. Это работает лучше всего, когда вы выбираете два последовательных изменений.

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

Кроме того, для тех, кто не любит термин «винить», вы можете запустить «svn praise», что дает те же результаты. :)

Смежные вопросы