Обновление существующего депо Perforce для использования GitSwarm
Моя компания развернула версию Perforce 2014.X (сервер и клиент). У нас есть существующее депо Peforce.
Они изучают возможность обновления до 2015.X, также известного как Helix. Одной из функций является лучшая интеграция с Git, называемая "GitSwarm", которая использует внешний интерфейс GitLab, интегрированный с Perforce.
Я просмотрел документацию в Интернете, но я не нашел ответов на эти вопросы:
У меня есть несколько вопросов:
Можно ли получить доступ к моему существующему хранилищу потоков, с его полной историей, через GitSwarm после завершения обновления, или нам нужно каким-то образом создать или перенести его в новое хранилище?
Если первое возможно, я предполагаю из документации Git Fusion/Connector, что мы сможем создать Git-репо только на основе одного потока? То есть, от GitSwarm будет доступен только один поток?
И наконец, если я создам ветку объектов на стороне GitSwarm и отправлю ее в хранилище потока Perforce для слияния, как будет выглядеть ветка git в Perforce? Как новый поток? Или есть только ветка? По сути, нужно ли объединять ветку git с основным отображаемым потоком на стороне git? или мы можем свободно слиться обратно в Perforce или Git?
Извините за длинный пост, но поскольку GitSwarm будет развернут, я думаю, многие команды столкнутся с одинаковыми вопросами.
1 ответ
1) Да, полная история потока доступна со стороны Git. Одна из проблем, связанных с использованием GitSwarm с потоками, заключается в том, что представление потока нельзя изменить после клонирования git-репо. Git не может понять семантику основного потока или следовать перемещенному контенту.
Исключить строки в виде потока не очень хорошо с Git; в Git можно добавлять файлы, которые затем нельзя вставить в GitSwarm, поскольку они явно заблокированы.
Строки импорта из потока будут преобразованы в подмодули в Git.
2) исправить; Каждое репо указывает на одно потоковое депо. Вы можете создать несколько репозиториев, каждый из которых направлен на разные потоки. При желании отдельные потоки в каждом поточном хранилище могут быть сопоставлены с ветвями в Git. В общем, ваш основной поток должен соответствовать мастеру в вашем репозитории Git.
3) Ветви Git хранятся в упрощенном формате, поэтому, хотя эти изменения попадают на сервер Helix, они не будут видны как отдельные потоки. Вы можете явно отобразить долгосрочные ветви в Git на потоки в Helix, используя файлы конфигурации репозитория. Если вы сопоставляете потоки с вашими долгоживущими ветвями в Git, вы можете объединиться в Git или Helix.