Кто-нибудь знает, позволяет ли git штатными средствами использовать вместо diff и patch другие программы? Или единственный вариант — прописывать их в начало пути и заставлять эмулировать стандартные? Или даже это не поможет?
А разве гит использует стандартные diff и patch? У него же модифицированные форматы и алгоритмы там, ЕМНИП. Но вообще нужно курить опцию --ext-diff у git-diff. Насчёт патча не уверен, нужно попробовать покурить маны той команды для которой что-то такое необходимо.
@matimatik Правильный diff даст уже много. Diff менять можно. Цель — найти способ, чтобы при версионировании Git не "портил" XML: чтобы не только результаты были правильные, но чтобы и дельты не разрушали древовидную структуру.
@dluciv Диффить иксымыль – интересная задача... В качестве костыля для использования обычных методов (хорошего, удобного костыля, надо сказать), наверное, возможно применение аккуратного форматирования с отбивками уровней и всем таким, но точно не уверен, что всегда.
Но в исходной постановке, вообще говоря, использование каких-либо диффов не поможет. Гит же сохраняет в индексе состояния файлов (коммиты т.е.), а не дельты. Максимум, что можно придумать – это какие-нибудь варианты представления диффов между сохранёнными состояниями, если эти диффы нужны для всяких внешних целей.