Subversion: удаление старых функциональных веток или их сохранение

У меня есть репозиторий Subversion со стандартной компоновкой, то есть ствол / и ветки / (и теги /). При работе над более значительными изменениями используется ветвь функций, которая регулярно синхронизируется с основной веткой, а затем повторно интегрируется обратно в магистраль (теперь используется версия 1.5). Довольно стандартный материал.

Что мне интересно, так это то, должна ли такая функциональная ветка после завершения и слияния сохраняться или удаляться. В книге по подрывной деятельности иногда кажется, что их обычно удаляют, но я также видел кучу проектов с открытым исходным кодом, в которых ветки сохраняются.

Я также несколько обеспокоен тем, как удаление ветки затруднит отслеживание существующих веток, особенно когда потенциально повторяющиеся имена входят в сценарий (скажем, мы выполняем поиск-рефакторинг дважды), их истории фиксации исчезают где-то в глубине репозитория. и т.п.

С другой стороны, ветки используются довольно часто, особенно с версией 1.5, и мне нравится мысль о том, что мне не нужно копаться в большом списке неактивных веток, чтобы найти те, над которыми я сейчас работаю.

Какие плюсы и минусы мне не хватает? Что делают люди?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
40
0
8 766
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вы можете смело их удалить. Их удаление не удаляет их из репозитория, выделенное пространство никогда не освобождается, но при этом все дерево вашего проекта выглядит более чистым.

Когда мы закончили, я удалял функциональные ветки, так как мне нравится отсутствие беспорядка. Со стороны некоторых других разработчиков возникла небольшая путаница, но, поскольку мы фиксируем номера ревизий коммитов в нашей системе отслеживания ошибок, все прошло довольно гладко. Если кто-то приходит и говорит, что не может найти ветку, советуем использовать флаг -rrevision в его журнале / diff / checkout / в любом другом месте, как правило, все, что нужно.

Моя команда удаляет их, чтобы не было беспорядка. В конце концов, это не похоже на уход; при желании их можно получить. Вы правы в том, что найти их снова может быть сложно: вам нужно знать номер ревизии, в которой существовала ветка, поэтому вы говорите своему клиенту, чтобы он посмотрел на эту ревизию, чтобы увидеть ваши файлы.

Мы используем FogBugz для управления нашим проектом, который отслеживает, когда что-то было зафиксировано в нашем репозитории SVN, по номеру ревизии. Мы можем использовать это, чтобы определить, к какой ревизии нам нужно вернуться, чтобы увидеть наши файлы: мы находим историю функций в FogBugz, смотрим, чтобы определить, в каких ревизиях существовала ветка, и используем эту информацию для перехода назад.

Ответ принят как подходящий

Если вы действительно беспокоитесь об их удалении, чтобы они не были забыты, просто создайте папку в ветвях с именем «неактивные» и svn move - ваши старые неактивные ветки в этой папке. Это может быть для вас лучшим из обоих миров.

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

farinspace 26.04.2011 00:23

Другие вопросы по теме