2010-01-15 2 views
12

У меня есть код, который я хотел бы увидеть в истории изменений. В файле примера строка 300 содержит что-то «интересное». Как я могу использовать svn, чтобы увидеть, когда эта строка была изменена, и просмотрите комментарии (s), относящиеся к изменению этой строки. (Обратите внимание, что предыдущие версии этого файла, скорее всего, не будут иметь мою целевую линию интереса по строке 300).svn: Как определить последний раз, когда была изменена определенная строка?

ответ

15

Вы можете использовать команду SVN blame. Это будет печатать авторские и ревизионные номера для отдельной строки для указанной цели. Если у вас есть номер версии вы можете просмотреть коммит журналов и другие изменения, связанные с этой ревизией с использованием log и т.д.

+6

Также известен как svn annotate, если вы чувствуете себя менее мстительным. (Или ваш босс написал код и просматривает ваше плечо.) – jmanning2k

2

Для этого есть инструмент «svn blame».

+2

Лучшая команда когда-либо! За исключением случаев, когда меня зовут ... – RedFilter

+3

У них тоже есть псевдоним «svn praise», возможно, это подойдет вам лучше, если у вас плохое чувство? ;) – kusma

1

svn blame filename

Тогда посмотрите на журнал для пересмотра, в котором она была изменена.

0

Как уже уже упоминались, вы можете использовать:

svn annotate filename 

, чтобы показать, когда эта линия был последним изменен. Однако будьте осторожны, поскольку в последний раз будет показано, что что-либо на этой строке было изменено. Итак, если код был перемещен в файл, который удален из одного места и вставлен в другое место, он будет показывать, когда линия была перемещена, а не обязательно, когда она была изменена. То же самое происходит, если строка была перенесена в цикл или из цикла или из него.

+0

Аннотации звучат лучше, чем винить. По крайней мере, для того, что мне нужно в то время. :-) – Les

4

svn blame -v filename. Verbose дает номер, название и дату пересмотра

2
svn [praise|annotate|blame] filename 

дает номер версии и последний автор или редактор.

svn [praise|annotate|blame] -v filename 

предоставит вам дополнительную информацию. если вы слили ветку, в этом случае

svn blame -g filename 

вы должны использовать следующую команду, чтобы знать все доступные варианты

svn blame --help 
Смежные вопросы