У меня есть хранилище Subversion со стандартной компоновкой, то есть транк / и ветки / (и теги /). При работе над большими изменениями используется ветвь функций, которая регулярно синхронизируется с транком, а затем реинтегрируется обратно в транк (сейчас используется 1.5). Довольно стандартные вещи.
Что меня интересует, так это то, должна ли такая ветвь объекта, после завершения и объединения, быть сохранена или удалена. Иногда в книге о подрывной деятельности можно предположить, что их обычно удаляют, но я также видел несколько проектов с открытым исходным кодом, которые сохраняют ветви.
Меня также несколько беспокоит то, как удаление ветви усложнит отслеживание того, какие ветви существовали, особенно когда в сценарий входят потенциально дублирующиеся имена (скажем, мы дважды выполняем поиск-рефакторинг), когда истории их фиксации исчезают где-то в глубине хранилища и т. д.
С другой стороны, ветки используются довольно часто, особенно с 1.5 сейчас, и мне нравится мысль о том, что мне не нужно перелистывать большой список неактивных веток, чтобы найти те, над которыми я сейчас работаю.
Какие плюсы и минусы мне не хватает? Что делают люди?