Как получить git diff для отображения различий в файлах ярлыков Windows (* .lnk)? - PullRequest
0 голосов
/ 22 ноября 2018

(В) Как мне получить git diff, чтобы показать мне различия в файлах ярлыков (* .lnk) в Windows?

Например,

git status
On branch master
  modified:   Shortcuts/Dirs/DevNotes.lnk

git diff Shortcuts/Dirs/DevNotes.lnk
diff --git a/Shortcuts/Dirs/Dev Notes.lnk b/Shortcuts/Dirs/Dev Notes.lnk
index ebf8af1..8f466c3 100644
Binary files a/Shortcuts/Dirs/Dev Notes.lnk and b/Shortcuts/Dirs/Dev Notes.lnk differ

Вместо того, чтобы говорить Binary files differ Я хотел бы видеть что-то вроде:

- c:\users\user1\myenv\Docs\DevNotes
+ c:\users\user1\mystuff\myenv\Docs\DevNotes

Это позволяет мне легче решить, хочу ли я принять изменение или оставить его локальным для хоста.

Я провел несколько поисков и обнаружил, что Microsoft, похоже, обновляет файлы ярлыков, потому что это то, что она делает.См. Как отслеживать файлы .lnk в git? .Интересно, что это может быть причиной того, что мои * .lnk файлы выглядят как разные, даже если они действительно не были изменены.

Я считаю, что

  1. Git может бытьнастроен для поддержки пользовательских программ сравнения для разных типов файлов. diff.external и gitattributes выглядят многообещающе.

  2. Windows * .lnk файлы можно как-то сравнивать.Это отправная точка Извлечение пути из ярлыка ссылки - пакет Windows

  3. Я могу сказать Git использовать пользовательский сценарий, который знает только, как diff * .lnk файлы.

Я искал и нашел некоторые вещи, но ничего, что уже делает это:

...