У меня есть проект, в котором есть некоторые файлы, которые являются хрупкими в том смысле, что небольшие ошибки могут вызвать проблемы с безопасностью, даже если полная программа работает нормально.В результате я хотел бы, чтобы git всегда проверял результат любой автоматической модификации во время слияния.
Если я правильно понял, пользовательский драйвер слияния - это почти то, что мне нужно.Лучшее, что я понял, - это использование git-merge-file в специальном драйвере слияния, чтобы получить нормальный результат слияния, и просто выйти из 1, чтобы пометить результат как всегда конфликтующий.Таким образом, git остановится во время слияния, и я могу проверить результат слияния перед завершением слияния.
Однако ожидаемые изменения в этом файле очень малы, и лучшим способом будет запустить что-то похожее на "gitдобавить -i "и выбрать" patch "и применить один блок за раз.
Есть ли простой способ написать драйвер слияния, который ведет себя как" git add -i "для всех слияний в этот файл (гдевозможный ханк для применения - результат автоматического слияния)?
Кроме того, если я правильно понял, драйвер слияния будет вызываться только для конфликтов на уровне файлов.Можно ли запросить аналогичную ручную проверку для специально помеченных файлов?Я думаю, что пометив новый файл как «хрупкий» в gitattributes перед выполнением слияния, а затем некоторая магия git merge (или фильтр filter) попросит меня проверить, что новый специальный файл подходит для объединенной ветви.