Я хотел бы иметь возможность вызывать некоторую предварительную обработку файлов до того, как Git попытается объединить их, и выполнить последующую обработку объединенного результата.Общая идея здесь заключается в том, что некоторые файлы трудно автоматически объединить как есть, но их можно преобразовать в более простую форму для обработки.Вот мой конкретный пример использования:
У меня есть хранилище в основном не очень чувствительных данных.В этом хранилище у меня есть немного зашифрованных конфиденциальных данных в файле с именем sensitive.pgp
.Мне нравится эта схема, потому что я не должен доверять безопасному управлению моим репозиторием, я просто должен доверять шифрованию и паролю.Прелесть, конечно, в том, что Git не может объединять зашифрованный текст, поэтому, если sensitive.pgp
изменяется в двух извлечениях одновременно, объединение недоступно - даже если изменения в открытом тексте легко разделяются.Ручной рабочий процесс выглядит следующим образом:
- Обнаружен конфликт слияния для
sensitive.pgp
. - Запустите git-mergetool.Инструмент также не может объединить файлы PGP.
- Теперь у меня есть временные файлы для моей версии, базовой версии и удаленной версии.
- Расшифруйте все три файла.
- Запустите мой инструмент слияния для расшифрованных версий.
- Зашифруйте результат.
- git - добавьте новый
sensitive.pgp
.
Я бы хотел сказать Git применить мою предварительную и последующую обработкупрежде чем он даже попытается слиться, поэтому он может обработать это автоматически.Я могу представить множество других сценариев с тем же общим шаблоном: практически каждый раз, когда у вас есть сжатый формат файла с текстовой структурой (например, PDF, OpenOffice, Word).
Любые предложения