Общий репозиторий - это просто базовая функция bzr, используемая для реализации рабочих процессов ветвей и компонентов ветвей. По сути, это каталог, который содержит пул ревизий с подкаталогами для каждой ветви, в которых есть метаданные, указывающие на конкретную ревизию в пуле, являющуюся подсказкой для этой ветви.
Различие между ветвями с колокейшн и объектами-ветвями состоит в том, что ветвь с колокейшн имеет все метаданные веток в том же каталоге, что и общий репозиторий и рабочее дерево, тогда как ветки объектов имеют отдельные подкаталоги для каждой ветки со своими собственными рабочими деревьями.
Какой из них использовать, зависит от среды разработки. Если ваша среда затрудняет переключение между разными каталогами, например, если у вас есть сценарии, в которых жестко заданы пути к вашему рабочему дереву, то вам следует использовать рабочий процесс ветвей colocated. Если для вашей среды лучше иметь полностью отдельные рабочие каталоги для каждой ветви, например, большие объемы скомпилированного вывода, которые восстанавливаются очень долго, тогда рабочий процесс ветвей функций, вероятно, будет работать лучше для вас.