расширение git и *.xls

мы используем git на win7 с gitExtension. Время от времени нам нужно работать с таблицами Excel. Я отредактировал .gitattributes и .git/config в соответствии с: Git Diff Indent/Pretty Print/Beautify Before Diff

и в качестве преобразователя я использую скрипт VBS (он основан на: http://developer.rhino3d.com/guides/rhinoscript/reading-excel-files/ ) с помощью cscript.exe

Когда в gitExtension запускается: Git bash и команда: git diff file.xls, он показывает мне изменения, как я и ожидал. Но в расширении я вижу, что file.xls изменен, но сравнение, такое как git diff, отсутствует. Ничего нет - только пустое окно. Перед редактированием .gitattributes и .git/config показывает (в этом окне), что это бинарный файл и он изменен.

Может ли кто-нибудь помочь мне, как настроить расширение Git для отображения текстовой интерпретации (в соответствии со сценарием vbs), содержимого xls-файла и различий.

После нескольких комментариев я добавляю принтскрин из Git bash - вы можете видеть, что здесь он кое-как работает (может быть, есть проблема с некоторыми специальными символами, которые отображаются в консоли как ‹ D8 > или ^M) введите здесь описание изображения

И еще одно расширение формы принтскрина - ничего введите здесь описание изображения

Я также просмотрел журнал команд git-extension. Там я вижу, что он использует команду:

git diff --unified=3 -- TCs/pokusna_tabulka.xls

который в git bash работает


person fik236    schedule 29.03.2018    source источник
comment
Вы можете проверить в журнале командной строки, какую именно команду он выполняет. Если он по-прежнему дает другой результат, я подозреваю некоторые низкоуровневые проблемы, такие как буферизация.   -  person max630    schedule 29.03.2018
comment
Итак, я правильно понял, что вы запускаете git show для какого-то коммита, открываете тот же самый коммит в GtExtensions и видите другой результат?   -  person max630    schedule 29.03.2018
comment
Я не уверен, что команда, используемая Gitextensions для отображения драйвера diff, поддерживает diff. Возможно, вам следует открыть задачу в репозитории проекта: github.com/gitextensions/gitextensions/issues Не имеет отношения, но я нашел ссылку, которая также может вам помочь: programmaticallyspeaking.com/git- различающиеся файлы Excel.html   -  person Philippe    schedule 29.03.2018
comment
Вторя @Philippe - пожалуйста, поднимите вопрос с подробностями на нашем трекере GH   -  person RussKie    schedule 31.03.2018


Ответы (1)


Я создал запись в репозитории расширений ext: https://github.com/gitextensions/gitextensions/issues/4865

Изменить: я нашел обходной путь.

  1. В своем репозитории создайте .gitattributes с записями: *.xls diff=excel *.xlsx diff=excel

  2. В вашем репо в /.git/config напишите: [diff "excel"] textconv = C:/ExcelDiff2/command/xdoc2txt.exe

textconv должен указывать на инструмент, который может преобразовывать xls-файлы в текст. Затем расширение Git возьмет оба файла xls, преобразует их и сравнит.

person Mao    schedule 22.04.2018
comment
Теперь он работает - проблема заключалась в том, что я использовал относительный путь /.git/config; Когда я использовал абсолютный запуск, он работает - Спасибо! - person fik236; 25.04.2018