Можно ли установить diff/merge-tool для определенного расширения файла в git-расширениях?

Я только начинаю разрабатывать в LabView, для меня это все в новинку.

И я хотел бы использовать расширения git для управления версиями. Поскольку исходный код имеет формат *.vi, я не могу использовать обычные инструменты сравнения, исходный код является двоичным.

К счастью, LabView поставляется со специальными инструментами сравнения и слияния, которые кажутся очень полезными. И я могу настроить TortoiseGit на использование этих инструментов для всех файлов *.vi. Это из этой инструкции:

https://www.labviewhacker.com/doku.php?id=learn:software:github:getting_started

Есть ли способ сделать то же самое в Git Extensions? Я предпочитаю расширения git, а не TortoiseGit. Поэтому я бы не хотел, чтобы меня заставляли использовать TortoiseGit.

Из того, что я нашел, вы можете указать только общий инструмент сравнения/слияния, а не разные для разных типов файлов.

Любая помощь будет оценена, кто-нибудь знает, как это сделать? :)


person bjarven    schedule 18.12.2013    source источник


Ответы (2)


Если выходные данные инструмента сравнения являются текстовыми, вы можете просматривать различия в стандартном Git, используя комбинацию .gitattributes и .git/config. Я надеюсь, что Git Extensions будет уважать этот параметр.

Я рекомендую прочитать главу Git Attributes книги Pro Git для получения подробной информации о настройке, но идея должна быть примерно такой

*.vi diff=labview

в файле .gitattributes вашего репозитория и

[diff "labview"]
textconv = labview-diff-tool

в вашем .git/config.

Если инструмент сравнения не выводит текст, вы можете найти главный ответ на этот вопрос полезен, в котором обсуждается использование графического инструмента сравнения.

person Chris    schedule 18.12.2013
comment
К сожалению, на выходе получается графическая блок-схема. :/ Но я посмотрю ссылку, которую вы разместили, спасибо! - person bjarven; 16.01.2014
comment
Вы также можете выполнять эти команды с помощью некоторых быстрых действий командной строки. Вот пример, который я собрал для sqlite3: - person phyatt; 08.07.2016

Ссылка: http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/configlvcomp_ThirdParty/

  1. Щелкните правой кнопкой мыши любую папку (это не проект git) и выберите TortoiseGit –> Настройки.
  2. Перейдите на вкладку Просмотр различий.
  3. Click Advanced -> Add
    1. Extension: .vi
    2. External Program: C:\Program Files (x86)\National Instruments\Shared\LabVIEW Compare\LVCompare.exe %base %mine-nobdcosm -nobdpos
      • -nobdcosm means do not compare the appearance of block diagram objects.
      • -nobdpos означает, что не нужно сравнивать размер или положение объектов блок-диаграммы.
  4. Повторите для: .ctl и .llb расширений
person Kapur    schedule 29.09.2014