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