$rev
и другие как он изменения для отдельных файлов, таким образом, они не изменятся, если файл не изменится. Число на веб-странице (скорее всего, я принимаю здесь), svn число пересмотра для целого проекта. Это отличается, чем версии файла, на которые указывали другие.
В этом случае я предполагаю, что CCNET вытягивает количество пересмотра проекта и переписывает часть веб-страницы с тем числом. Любое решение CI должно быть в состоянии сделать это, установить это самостоятельно с CCNET и Teamcity (хотя не веб-страницы, но автоматическое управление версиями версий развертывания/блока).
Для Вас, чтобы сделать это, используйте решение CI, которое поддерживает его, или используйте свой процесс сборки (MSbuild/Nant), чтобы сохранить ту версию и записать его в файлы прежде, чем "развернуть" его.
Что вы хотите сделать, так это наложить Вину на этот исходный файл, и он покажет вам версии, которые изменили каждую из строк кода.
I ' m не знает ни одной команды, которая могла бы предоставить вам все версии для данной строки кода ... что вы можете сделать, так это сделать журнал шоу для одного файла, а затем просмотреть каждую из изменений, которые произошли с течением времени .
Вина Мезоида звучит правильно. Кроме того, я хотел бы поделиться методом, который пользователи командной строки svn могут найти полезными. (Речь идет о svn blame, но я использую синоним «annotate» или «svn ann», потому что «blame» звучит немного резковато!)
Итак, у вас есть строка, которая вас интересует, и в ней есть отличительная строка на нем "uniqueString". Вы хотите прочитать сообщение о фиксации, когда строка была впервые введена, но, возможно, она редактировалась несколько раз. Итак, вы продолжаете и делаете это:
# svn ann that.file | grep distinctiveString
2345 yada yada distinctiveString blah blah
Взгляд на ваш веб-интерфейс TRAC для svn показывает, что r2345 просто изменил отступ строки, а не ревизию, в которой была введена строка. Итак, затем вы используете флаг -R (или -r, svn help ann, чтобы убедиться), чтобы указать ревизию на единицу меньше, чем ревизия, которую вы нашли на предыдущем шаге:
# svn ann -R 2344 that.file|grep distinctiveString
2211 yada yada distinctiveString blah blah
Промойте и повторяйте, пока не найдете оригинал.
Вы можете опустить поиск TRAC на каждом этапе, просто повторяя его до тех пор, пока строка больше не исчезнет, и взяв результат предпоследней итерации.
Хорошо, это немного утомительно, но если вы действительно хочу знать, кто ввел эту строчку, и она будет работать. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Итак, затем вы используете флаг -R (или -r, svn help ann, чтобы убедиться), чтобы указать ревизию на единицу меньше, чем ревизия, которую вы нашли на предыдущем шаге:# svn ann -R 2344 that.file|grep distinctiveString
2211 yada yada distinctiveString blah blah
Промойте и повторяйте, пока не найдете оригинал.
Вы можете опустить поиск TRAC на каждом шаге, просто повторяя его до тех пор, пока строка больше не исчезнет, и взяв результат предпоследней итерации.
Хорошо, это немного утомительно, но если вы действительно хочу знать, кто ввел эту строчку, и она будет работать. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Итак, затем вы используете флаг -R (или -r, svn help ann, чтобы убедиться), чтобы указать ревизию на единицу меньше, чем ревизия, которую вы нашли на предыдущем шаге:# svn ann -R 2344 that.file|grep distinctiveString
2211 yada yada distinctiveString blah blah
Промойте и повторяйте, пока не найдете оригинал.
Вы можете опустить поиск TRAC на каждом шаге, просто повторяя его до тех пор, пока строка больше не исчезнет, и взяв результат предпоследней итерации.
Хорошо, это немного утомительно, но если вы действительно хочу знать, кто ввел эту строчку, и она будет работать. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Вы можете опустить поиск TRAC на каждом этапе, просто повторяя его до тех пор, пока строка больше не исчезнет, и взяв результат предпоследней итерации.
Хорошо, это немного утомительно, но если вы ] действительно хотят знать, кто представил эту строчку, и она будет работать. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Вы можете опустить поиск TRAC на каждом этапе, просто повторяя его до тех пор, пока строка больше не исчезнет, и взяв результат предпоследней итерации.
Хорошо, это немного утомительно, но если вы ] действительно хотят знать, кто ввел эту строчку, и она будет работать. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.
Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить. Это может сэкономить ваше время, если исходное сообщение о фиксации объясняет цель неясного фрагмента кода, который в противном случае выглядит так, как будто его можно удалить.Вы можете щелкнуть правой кнопкой мыши файл в репозитории и выбрать TortoiseSVN-> Показать журнал, чтобы получить изменения, которые затронули этот файл. Построчно, я ничего не знаю.