Подтвердить что ты не робот

Проблема рабочего процесса Subrepo при переключении с Hg на Git

Мы сталкиваемся с некоторыми проблемами рабочего процесса в коммутаторе от hg до git (бизнес-требование). В hg мы использовали для ограничения доступа аутсорсинговых студий к проприетарному коду, создавая subrepos с определенными настройками разрешений. На наших основных hg-репозиториях были бы ветки, указывающие на соответствующий источник или подполе DLL, чтобы они могли легко переключаться между ними.

Проблема, с которой мы сталкиваемся, заключается в том, что имитировать эту настройку в git представляется невозможным. Переключение ветвей в ту, которая не содержит определенных подмодулей, не удаляет файлы этого субмодуля локально (предполагаемое поведение git). Это создает утомительный шаг удаления вручную, который, вероятно, вызовет проблемы, если мы переведем его на менее технических сотрудников в офисе. Нам нужна система, в которой люди могут проверять наконечник от любого другого фиксации в истории и гарантированно иметь рабочий проект, чего не может быть, если контент подмодуля не удаляется в текущей системе.

Есть ли альтернативы в git для того, что мы пытаемся сделать?

4b9b3361

Ответ 1

Вы можете использовать крюк на стороне клиента post-checkout. В принципе, при переключении ветвей на один, который использует другой подмодуль, будет запущен крюк post-checkout. В этом случае вы можете просто добавить код для удаления всех подмодулей, которые не используются текущей ветвью.

Поскольку перехватчики не синхронизируются между удаленными устройствами и локальными репозиториями, вы можете следовать рекомендациям this для получения перехватов для людей, которые будут клонировать ваш репозиторий.