В настоящее время я работаю с svn-репозиторием со слегка нестандартной компоновкой. Есть две директории, где могут появиться ветки. Например:
Project/
Foo/
A/
B/
C/
Support/
Branches/
taskbranch1/
taskbranch2/
taskbranch3/
taskbranch4/
Tags/
В этом макете на самом деле нет обозначенного «ствола». Каждый из каталогов «A», «B» и «C» является ветвями в том смысле, что они представляют собой текущую разработку нескольких версий одного и того же продукта, и они являются наиболее близкими к «стволу» для разработчиков, работающих в нем.
Branches/
содержит более традиционные, ориентированные на задачи ветви (т. Е. Они, как правило, недолговечны и объединяются в A, B или C и удаляются, когда задача, которую они представляют, завершена)
Работая в git, я бы хотел, чтобы git относился к дочерним элементам "Foo" и к дочерним элементам "Support / Branches" как к ветвям. Однако подстановочные знаки, разрешенные в параметре svn-remote.branches, кажутся недостаточно выразительными, чтобы допустить это.
Раньше я настраивал несколько разных git-репозиториев (по одному для A, B и C), но с одинаковыми URL-адресами SVN для тегов и веток, однако это кажется расточительным, поскольку подавляющее большинство содержимого из этих трех хранилищ будут идентичны.