Есть ли какой-нибудь графический инструмент diff для git, который можно использовать с LabVIEW? - PullRequest
0 голосов
/ 02 октября 2018

Мой работодатель хочет переключить нашу систему контроля версий на git.Я попробовал это, прочитал руководство, и до сих пор я вполне доволен этим, но я столкнулся с одной проблемой, которую, кажется, довольно трудно решить.Мы используем не только текстовые языки, но и LabVIEW 2014 (графический язык программирования).Поскольку git хранит данные в двоичных снимках, совместимость не является проблемой, но просмотр изменений и объединение кажется довольно невозможным.Я искал альтернативные варианты уже несколько часов, но я не нашел ничего, что бы хорошо соответствовало нашим потребностям.

На самом деле в LabVIEW есть встроенный инструмент для сравнения исходных файлов и один для слияния.Эти инструменты заблокированы внутри программы, и, кажется, невозможно запустить их без запуска IDE, поскольку они доступны только для пользователей профессиональной лицензии.Хотя мы владеем этой версией, кажется, что мы можем запустить их только из меню редактора исходного кода.

Запуск только LVCompare.exe - из командной строки - вызывает следующую ошибку (мы запускаем Windows 10, это простоgit bash) в отдельном окне (не в bash):

$ ./LVCompare.exe ~/PATH_TO_PROJECT/Current_Test.vi ~/PATH_TO_PROJECT/Forecast_Test.vi


An error occurred while running LVCompare.

Open VI Reference in LVCompare.vi<APPEND>
VI Path: <b>C:\/Users/PATH_TO_PROJECT/Current_Test.vi</b>

Единственный обходной путь, который я могу себе представить - потому что вы не можете одновременно открывать два VI (исходных файла) с одинаковыми именами -это крайне неудобно.Если мне нужно сравнить две версии файла, я должен извлечь версию 1, скопировать файл из рабочего каталога под другим именем, проверить версию 2, открыть файл в LabVIEW, открыть инструмент сравнения и выбрать первый файл.,Как вы можете догадаться, это довольно плохой вариант, и я не думаю, что кому-либо из других разработчиков это будет удобно.

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

Я проверил десятки веб-страниц, и есть несколько разработчиков, которые утверждают, что написали собственные инструменты, но большинствовремени вам приходится устанавливать много вспомогательного программного обеспечения, и они выдают схожие ошибки или не работают вообще.

Итак, наконец, мой вопрос: Есть ли возможность отобразить различия междудва git-версии исходных файлов LabVIEW, не пройдя всю эту борьбу?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Для всех вас, имеющих одинаковые проблемы: Если вы хотите использовать LVCompare.exe или LVMerge.exe, вы должны правильно связать их с этими расширениями файлов:

  • .vi
  • .vit
  • .ctl
  • .ctt

В TortoiseGit перейдите в [Настройки> Просмотр различий> Дополнительно]и [Настройки> Merge Tool> Advanced] и создайте записи списка для них.Используйте команды в этом формате:

LVCompare.exe:

"C:\Program Files (x86)\National Instruments\Shared\LabVIEW Compare\LVCompare.exe" %mine %base -nobdcosm -nobdpos

LVMerge.exe:

"C:\Program Files (x86)\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" %base %theirs %mine %merged

Благодаря kosist для эта ссылка .

0 голосов
/ 02 октября 2018

На LVCompare

Запуск только LVCompare.exe - из командной строки - вызывает следующую ошибку (мы запускаем windows 10, это просто git bash) в отдельном окне (не в bash):

$ ./LVCompare.exe ~/PATH_TO_PROJECT/Current_Test.vi ~/PATH_TO_PROJECT/Forecast_Test.vi


An error occurred while running LVCompare.

Open VI Reference in LVCompare.vi<APPEND>
VI Path: <b>C:\/Users/PATH_TO_PROJECT/Current_Test.vi</b>

Даже в git-bash используйте разделитель каталогов Windows для взаимодействия с LabVIEW: \

При различении ВП от git

Есть ли возможность отобразить различия между двумя исходными файлами LabVIEW с git без прохождения всей этой борьбы?

См. Этот проект GitHub: https://github.com/joerg/LabViewGitEnv

mkdir -p /c/repos/other && cd /c/repos/other
git clone -b windows git://github.com/joerg/LabViewGitEnv.git
cd LabViewGitEnv
bin/LVBootstrap.sh --system
...