Можно ли просмотреть историю строки в SVN?

Возможный дубликат:
История изменений в определенной строке кода в Subversion?

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

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

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

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

Ответ 1

svn blame

Ответ 2

Я не уверен, что виноват только то, что нужно обману.

Я нашел команду TortoiseSVN "виноватые изменения". Он винит в двух версиях и сравнивает их вместе в инструменте diff.

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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