Я разработал своего рода шаблон веб-сайта брошюры, на котором я основал большинство сайтов моих клиентов. Шаблон и производные сайты хранятся вместе в репозитории Subversion. Кровотечение (но стабильный) код живет в /trunk
; и каждый веб-сайт имеет свою собственную ветку, чтобы упростить настройку. Теперь, когда я приближаюсь к выпуску 2.0, я чувствую, что мне нужно смириться с тегами.Как использовать теги управления версиями?
Как я понимаю, значимые выпуски должны быть помечены. Тег является лишь указателем на конкретную ревизию и никогда не должен быть изменен . Предположим, у меня есть тег для версии 2.0 моего шаблона, и уже есть новый код в багажнике. Если я хочу создать новую ветку на основе кода 2.0, как мне это сделать?
Отключить ли я /tags/2.0
? Это не так. Где я буду совершать свои изменения? Мне пришлось бы преднамеренно обойти родословную моей ветви. Должен ли я вручную искать версию сундука, которой соответствует /tags/2.0
, а затем отделить эту ревизию в багажнике? Это кажется ... громоздким. Я считаю, что до недавнего времени Subversion даже не хранил эту информацию!
Очевидно, что у меня нет чего-то принципиального. Быстрое краткое изложение того, как теги фактическииспользуется (в отличие от того, что ониявляются) было бы полезно. Благодарю.
Редактировать: Где я сказал «Отключить /tags/2.0
», я хотел сказать: «Проверьте /tags/2.0
». Но эта ошибка была также ответом на мой вопрос. По какой-то причине я никогда не думал о копировании тега. Глупо, да? Но, на мой взгляд, теги были «окончательными».
И, кстати, я полностью понимаю, что теги - это просто конвенция. Сама конвенция была смущена, а не ее базовая реализация.
Можете ли вы дать более подробную информацию о своем процессе. То, что я читаю, - это для каждой функции, с которой вы работаете ... Как вы обновляете багаж? Почему бы вам не работать в багажнике? –
Большая часть работы выполняется на багажнике. Я вступаю, когда «делаю» с развитием, и готов к качеству. Ошибки, обнаруженные QA, фиксируются на ветке (и объединены в магистраль), и когда она проходит QA, она помечена и выпущена. То же самое с ошибками, обнаруженными в производстве: исправление на ветке, слияние на магистраль, тег и выпуск. –