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