Звучит мезоид правильно. В стороне, я хотел бы поделиться техникой, которую пользователи командной строки svn могут найти полезными. (Речь идет о svn вине, но я использую «аннотированный» синоним или «svn ann», потому что «винить» звучит немного грубо!)
ОК, поэтому у вас есть интересующая вас линия, и это имеет на ней отличительную строку «отличительная строка». Вы хотите прочитать сообщение о фиксации, когда строка была впервые введена, но она может быть отредактирована несколько раз. Итак, вы идете вперед и сделать это:
# svn ann that.file | grep distinctiveString
2345 yada yada distinctiveString blah blah
Посмотрите на свой веб-интерфейс ПРОФ для СВН показывает, что r2345 просто изменил отступ строки, он не был пересмотр, на котором была представлена линия. Так что в следующий использовать флаг -R (или -r, делать Svn помощь ANN, чтобы убедиться) указать ревизию один меньше, чем ревизии, которую вы нашли в предыдущем шаге:
# svn ann -R 2344 that.file|grep distinctiveString
2211 yada yada distinctiveString blah blah
Полоскание и повторяться до тех пор, пока не найдете оригинал.
Вы можете пропустить поиск TRAC на каждом шаге, просто повторяя, пока вы больше не видите линию, и возьмите результат предпоследней итерации.
OK, это немного сложно, но если вы действительно хотите знать, кто представил эту строку, он выполнит эту работу. Это может сэкономить ваше время, если исходное сообщение фиксации объясняет намерение неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Есть ли способ найти * все * ревизии определенная строка была изменена? Вина только даст мне последнюю ревизию. –
Нет, это только покажет вам, кто изменил линию последним. Он хотел, чтобы он мог указать на линию и показать, в каких изменениях эта линия была изменена (мое недооценка вопроса). –
Я не знаю никакой такой команды, которая могла бы дать вам все версии для данной строки кода ... что вы можете сделать, это сделать журнал регистрации в одном файле, а затем посмотреть на каждую из ревизий, которые со временем. – mezoid