Для базовых целей, чтобы отразить текст в любом формате zipped-xml, вы можете использовать xmllint
, чтобы отформатировать xml и отразить их, скажем, вы сделали
git show master:summary.odt >${file1=`mktemp`}
git show feature:summary.odt >${file2=`mktemp`}
7z x -o ${extract1=`mktemp -d`} $file1
7z x -o ${extract2=`mktemp -d`} $file2
find $extract1 $extract2 -iname \*.xml -execdir xmllint --format {} -o {}.pretty \;
, и теперь вы можете diff.pretty
, чтобы увидеть, что изменилось.Соберите это с обычными лесами, и вы получите базовый драйвер различий.Вы даже можете заменить xml на предварительно подтвержденный xml, отредактировать его, перепаковать, все это работает.