Следует ли сохранять все теги в хранилище? - PullRequest
2 голосов
/ 03 марта 2011

Я использую Subversion и придерживаюсь соглашения о соединительных линиях, тегах и ветвях.

Схема использования, к которой я стремлюсь, выглядит следующим образом:

  1. начинаются с магистрали
  2. выполнить некоторую работу
  3. выпуск тега из транка
  4. развернуть выпуск
  5. создать ветвь элемента из тега
  6. выполнить работу
  7. объединить ветвь со стволом
  8. перейти к шагу 3.

С учетом этого паттерна со временем создается целая коллекция тегов.Сохраняете ли вы эти теги очень долго, или ваша политика заключается в том, чтобы удалить те теги, которые не находятся в производстве?Мне кажется, что имеет смысл (особенно в Subversion) в конечном итоге «удалить» старые теги и зависеть от истории транка и сохраненных тегов, если нужна история, но какие политики используются?

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Моя философия заключается в том, что я обычно блокирую теги - то есть "замораживаю" ветку - как только код выпущен. Когда исходный код в ветке больше не обслуживается, я удаляю теги. Так, обычно это означает, что когда версия для тега больше не «в поле».

Однако есть два предположения, которые я должен пояснить:

  1. Обычно я делаю ветки / теги по выпускам, а не по функциям. Если я создаю ветку для экспериментальной функции, я обычно удаляю ветку после того, как она была успешно объединена в ствол. Работа на ветке в основном только для того, чтобы я мог изолировать изменения в стволе, пока я работаю над чем-то, что расстроит других.
  2. Мои релизы меняются очень быстро, так как я разработчик мобильных приложений. Поэтому мне легко сказать «когда релиза больше нет в поле», потому что, как только я выпускаю новый код, он начинает преобладать. Разработчику, чей код будет поддерживаться в течение многих лет, будет гораздо сложнее.

Полагаю, все сводится к тому, «как долго вы ожидаете поддержки кода в этой ветке?»

1 голос
/ 03 марта 2011

Конечно, вы можете удалить их - однако есть другие способы ограничить вывод при их перечислении. Проверьте git-flow. Вы должны иметь возможность использовать слияния в стволе, чтобы показать, что было развернуто, не полагаясь на тег. Обратите внимание на то, что 1-й родитель находится в коммит-слиянии - это та сторона, с которой вы слились. Для недавней проверки истории / манипулирования, теги помогают.

Помните разницу между SVN и Git. Git основан на снимках, а не на URL, как SVN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...