Подтвердить что ты не робот

Что вы должны делать со старыми ветвями SVN?

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

4b9b3361

Ответ 1

Когда я интегрирую ветку, я перемещаю ее с branches/ на branches/integrated/. Сохраняет branches/ чистоту, поэтому легко найти текущую работу, но также позволяет легко выкапывать старые ветки, чтобы увидеть, какие изменения были сделаны, не требуя много археологии ревизионного номера.

Ответ 2

В SVN 1.5 введено свойство "mergeinfo", которое позволяет вам легко реинтегрировать ветки в туловище, поддерживая повторяющиеся обновления ветвей. Это позволяет вам создать ветвь, передисоциально обновлять ветвь из ствола и, наконец, реинтегрировать ветвь в туловище (svn merge --reintegrate). Это полезно, например, при создании ветки для исправления ошибки или для разработки функциональных возможностей.

Способ реализации mergeinfo не позволяет выполнять последующую реинтеграцию, поэтому именно поэтому вам рекомендуется не повторно использовать ветвь.

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

Если вы хотите повторно использовать ветвь, обычный шаблон должен создать новую копию (ветку) с тем же именем:

  • удалить ветку
  • совершить
  • воссоздайте ветвь (ветвление в пути с тем же именем)
  • совершить
  • работа над новой веткой

Когда вы "воссоздаете" ветвь, на шаге 3 восстанавливается mergeinfo, поэтому вы можете без проблем реинтегрироваться в будущем.

Вернемся к вашему вопросу: "Итак, мой вопрос - когда отрасль больше не нужна, ее просто нужно удалить или сохранить?" Я бы сохранил ветку, поэтому она будет видна в редакции HEAD. С исчезновением ветвей сбивает с толку ( "эй, мы создали ветку для выпуска 0,1 на прошлой неделе?" "Хм, я не помню... проверьте историю репо" )

Что касается повторного использования ветки, я бы использовал соглашение, чтобы никогда не использовать повторно ветку, и если вам нужно "добавить что-нибудь", заново создайте ее. Но, на мой взгляд, гораздо проще использовать другое название ветки. Вероятно, вы можете использовать соглашение об именах для идентификации веток. Например, оригинал будет ветвями /Issue -1 и последующими ветвями расширений /Issue -1.0, branch/Issue-1.1 и т.д.

Ссылки Mergeinfo.

http://blogs.open.collab.net/svn/2008/07/subversion-merg.html http://blogs.open.collab.net/svn/2009/11/where-did-that-mergeinfo-come-from.html

Ответ 3

Из Википедии: "Как только ветвь была вырезана или каким-либо другим способом удалена из ее источника, ее чаще всего называют пряника"

Итак, я думаю, вы должны создать каталог "sticks" на том же уровне, что и ветки

Ответ 4

После некоторого периода времени, когда проект закончился, я удаляю старые ветки.

Вы можете повторно использовать имена ветвей, но почему? Имена дешевы. Не называйте свою ветку "работать", но получите более конкретную информацию, например "data-conversion-phase-1".

Ответ 5

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

Повторное использование ветки после ее объединения с сундуком - почти наверняка плохая идея.

Ответ 6

Хорошая практика при разработке крупных проектов - назвать ваши ветки, используя имена задач из инструмента отслеживания проектов: например, "DEV-1512", "FEAT-512" или биг-трекеры: "BUG-5142", и др.

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

PS. Представьте runung svn ls на $repo/ветвях с 9999 ветвями;)