Поддерживает ли subgit несколько "веток" каталогов?

Поддерживает ли subgit несколько "веток" каталогов?

Например, если у вас есть репозиторий SVN, который выглядит так:

trunk/...
branches/<branch>/...
releases/<release>/...
tags/<tag>/...

но "релизы" на самом деле были просто ветками релизов.

Мы бы хотели, чтобы и "ветки /", и "релизы /" в SVN стали ветвями в Git.

И если в Git была создана новая ветвь, то в SVN мы бы хотели, чтобы новый каталог находился в "ветках /" (то есть, "релизы /" устарели).

Итак, нам нужны множественные отображения ветвей, но одно из них является "основным".

1 ответ

Решение

Да, начиная с версии 2.0, вы можете указывать опцию 'ветки' в конфигурации SubGit несколько раз. Есть ограничение: левая и правая части шаблонов не должны пересекаться или быть одинаковыми (в противном случае правила становятся неоднозначными):

trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
branches = releases/*:refs/heads/releases/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

Вы не можете отобразить releases/* а также branches/* в refs/heads/* одновременно, потому что это делает правила неоднозначными (в этом случае SubGit не знает, следует ли отображать refs/heads/branch в branches/branch или releases/branch).

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