У меня есть приложение asp.net/C#, которое использует подверсию для управления исходным кодом.
Мое приложение автоматически увеличивается, это - AssembleVersion и AssemblyFileVersion на каждой сборке, которая работает как очарование и отображает номер сборки в стороне администрирования сайта.
Мы отслеживаем AssembleVersion и AssemblyFileVersion, когда мы делаем развертывание, однако, когда проблема возникает, и мы должны откатывать к определенной версии, мы понятия не имеем который пересмотр предназначаться в подверсии.
У меня есть немного идей:
Любая справка и предложения будут цениться
Обновленный: опция "1" является на самом деле глупой идеей, вызовите, это будет означать, что каждый раз я создаю, все файлы будут отмечены, как обновлено и когда я буду фиксировать, каждый файл будет обновлен
Когда я строю, я везде указываю этот номер сборки.
Единственное, что я не наливаю, так это кофе, который я беру черный .
Все это позволяет сопровождающему с первого взгляда точно знать, откуда взялся код для того, что они видят, просматривают ли они веб-страницу или просматривают свойства одной из построенных сборок в проводнике или что-то еще. .
Примените тег к исходному дереву после обновления AssemblyVersion
и AssemblyFileVersion
.
Вы можете выполнить «ветку для выпуска». Перед созданием сборки выпуска вы можете разветвить магистраль, а затем создать тег в новой ветке с номером версии выпуска.
+ release tag
/
+--------------------- release branch
/
----------+----------------------------------------------------- trunk
Это позволит вам отслеживать все отдельные выпуски в SVN. Это также позволит вам делать отдельные исправления ошибок в ветках выпуска, которые могут быть выпущены в виде исправлений. Затем исправление ошибки можно было бы снова добавить в ствол.
+ + patch release tag
/ /
+-----------------+-+---- release branch
/ | merged fix into trunk...
----------+----------------------------------------------------- trunk
В данном случае рекомендуется использовать теги / ветки.
Вы также можете (или дополнительно) включить номер версии svn в свой AssemblyInfo. Один из подходов - использовать задачу AssemblyInfo из проекта msbuildtasks по адресу http://msbuildtasks.tigris.org
Для получения дополнительной информации, google msbuild svn revision assemblyinfo
Вы могли бы ], то обойтись без тегов / веток, так как вы всегда можете проверить конкретную ревизию и / или создать ветку из определенной ревизии.
Теги бесполезны, если вы часто строите. Может быть, найти способ обновить версию сборки на основе ревизии svn? Также укажите название ветки, потому что они имеют общие версии.
И вы должны иметь возможность извлекать версию сборки на своих страницах ASP.NET и программно печатать ее в нижнем колонтитуле или что-то в этом роде.
Вы можете пометить Строка Subversion с AssembleVersion или AssemblyFileVersion, в зависимости от того, что имеет наибольший смысл.
Вы также можете отслеживать номер версии Subversion точно так же, как вы в настоящее время отслеживаете AssembleVersion и AssemblyFileVersion при развертывании.