Недавно у нас была ветвь SVN, которая была объединена с багажником, и нам понадобилась еще одна работа над этой функциональной/функциональной областью. Я предложил использовать ту же ветку, но мне сказали, что вы не должны повторно использовать ветвь после ее интеграции в магистраль (дана ссылка в документах SVN, я не могу ее найти сейчас). Это говорит о том, что ветка довольно бесполезна после того, как вы слились обратно в багажник, поэтому мой вопрос - когда отрасль больше не нужна, ее нужно просто удалить или сохранить?Что вы должны делать со старыми ветвями SVN?
ответ
Когда я интегрирую ветку, я перемещаю ее с branches/
на branches/integrated/
. Сохраняет branches/
, поэтому его легко найти текущую работу, но также позволяет легко выкапывать старые ветви, чтобы увидеть, какие изменения были сделаны, не требуя много археологии ревизионного номера.
После некоторого периода времени, когда проект закончился, я удаляю старые ветви.
Вы можете использовать названия филиалов, но почему? Имена дешевы. Не называйте свою ветку «работать», но более конкретную, например, «data-conversion-phase-1».
Что произойдет, если вы удалите ветку, а затем попытаетесь создать другую с тем же именем? в нашем случае у нас был один (я думал) конкретное имя типа «преобразование данных», не зная, что у нас будет фаза-2! –
От ветвей (старый, который вы удалили, и новый, который вы создали с тем же именем) различны и не обмениваются историей изменений. Они похожи только на имя, но им также могут быть присвоены разные имена, так как вы получаете тот же эффект. –
Вы можете повторно использовать имена ветвей. Я просто стараюсь этого не делать. В вашем случае я бы сделал «преобразование данных», а затем, когда я обнаружил, что второй этап должен произойти, сделайте это «преобразование данных-фаза-2». –
Я бы рекомендовал не удалять старые ветви, если они не создают проблем. Это фактически не экономит ваше место, и это облегчает просмотр старых версий, если вам нужно.
Повторное использование ветки после того, как она была объединена с багажником, - почти наверняка плохая идея.
yup, повторное использование названия ветки похоже на повторное использование вчерашних носков – shfx
SVN 1.5 представил свойство «mergeinfo», которое позволяет легко реинтегрировать ветви в туловище, поддерживая повторяющиеся обновления ветвей. Это позволяет вам создать ветвь, передисоциально обновлять ветвь из ствола и, наконец, реинтегрировать ветвь в туловище (svn merge --reintegrate). Это полезно, например, при создании ветки для исправления ошибки или для разработки функциональности.
Способ реализации mergeinfo не позволяет выполнять последующую реинтеграцию, поэтому именно поэтому вам не рекомендуется повторно использовать ветку.
Это проблематично для «ветвей выпуска», когда вы хотите разработать исправления ошибок в ветви релиза и выполнять периодическую реинтеграцию в багажник.
Если вы хотите использовать ветку, обычная картина, чтобы создать новую копию (филиала) с тем же именем:
- удалить ветвь
- совершить
- воссоздать ветвь (ветвление в пути с тем же именем)
- совершает
- работы над новой ветвью
Когда вы «воссоздаете» ветвь, на шаге 3, mergeinfo восстанавливается, поэтому вы можете без проблем реинтегрировать в будущем.
На ваш вопрос: «Итак, мой вопрос - когда отрасль больше не нужна, ее просто нужно удалить или сохранить?» Я бы сохранил ветку, поэтому она будет видна в ревизии HEAD. Отключение ветвей путается («эй, мы создали ветку для выпуска на прошлой неделе?» «Хм, я не помню ... проверьте историю репо»)
Что касается повторного использования ветки, я бы используйте соглашение, чтобы никогда не использовать повторно ветвь, и если вам нужно «добавить что-нибудь», заново создайте ее. Но, по-моему, гораздо понятнее использовать другое название ветки. Вероятно, вы можете использовать соглашение об именах для идентификации филиалов. Например, оригинал будет ветвями/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
Хорошая практика, при разработке крупных проектов, чтобы назвать свои филиалы, используя названия задач из проекта отслеживания инструмента: например, «DEV-1512», «ПОДВИГ-512», или багтрекер билеты: «BUG-5142» и т. д.
Когда задача завершена, вверх и запускайте на производственном сервере, удалите ветку. Вы всегда можете объединиться.
PS. Imagine runung svn ls
на $ репо/филиалов с 9999 филиалами;)
. Я могу полностью увидеть преимущество включения номера отслеживания, но у меня также есть что-то описательное. FEAT-132-image-blur-function, чтобы избежать необходимости искать эти числа для других членов команды. –
From Wikipedia: «После того, как филиал был вырезан или каким-либо другим способом удалить из своего источника, наиболее часто упоминается как палка»
Итак, я думаю, вы должны создать каталог «палки» на том же уровне, что и ветви
+1 для умения – Kyle
- 1. Что делать со старыми приложениями
- 2. Что вы должны делать?
- 3. Что вы делаете со своими старыми записями?
- 4. Что делать с неиспользуемыми ветвями функций
- 5. Что вы должны делать с перенаправлением подтверждения oauth2?
- 6. Слияние между ветвями SVN
- 7. Что вы должны делать с вложенными ViewModels при модульном тестировании?
- 8. Firebase Что будет со старыми кодами
- 9. Насколько гибки вы должны делать свои классы?
- 10. Дескрипторы Python со старыми классами
- 11. Создание проблемы с ветвями svn
- 12. Что делать со старыми файлами в SoftIndexFileStore в постоянном хранилище кеша Infinispan?
- 13. Что Геттеры и сеттеры должны и не должны делать
- 14. Переключение между ветвями в SVN и Git
- 15. Что делать со сборкой «dist»
- 16. svn: слияние при сохранении вариантов между ветвями
- 17. Что делать со старыми данными заказа с сайта электронной коммерции/db
- 18. Что делать с удаленными ветвями git-p4 после миграции?
- 19. Работа со старыми выпусками в Git Workflow
- 20. Что должны делать журналы аудита BigQuery?
- 21. C - Что должны делать скрипты в программах
- 22. Что должны делать слои в приложении dotnet?
- 23. Что должны делать определенные внутренние методы TDataset?
- 24. Что делать с файлом svn dump?
- 25. что-то делать после обновления SVN
- 26. Что делать, если вы редактируете файл gemspec?
- 27. Тест со старыми версиями Firefox
- 28. Совместимость со старыми версиями Android
- 29. Удалить дубликаты со старыми датами
- 30. Работа со старыми коммитами git
Я назвал это ветвями-кладбищем. –
Я использовал «чердак». –
Чтобы развлечь себя, я также использую комментарий о фиксации «Обрезанных старых ветвей» –