How can I get git diff to show differences in Windows shortcut (*.lnk) files?












0















(Q) How can I get git diff to show me the differences in shortcut files (*.lnk) on Windows?



For example,



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


Instead of saying Binary files differ I'd like to see something like:



- c:usersuser1myenvDocsDevNotes
+ c:usersuser1mystuffmyenvDocsDevNotes


This lets me more easily decide if I want to commit the change or leave it local to a host.



I did some searches and found that Microsoft seems to update shortcut files because it's what it does. See How to track .lnk files in git?. Interesting as this might be why my *.lnk files are showing up as different even when they might not have really been changed.



My belief is




  1. Git can be configured to support custom diff programs for different file types. diff.external, and gitattributes look promising.


  2. Windows *.lnk files can be somehow compared. This is a starting point Extract Path from shortcut link - windows batch


  3. I can tell git to use a custom script that knows only how to diff *.lnk files.



I've searched and found some things but nothing that already does this:




  • How to track .lnk files in git?


  • Why doesn't `git diff` invoke external diff tool?


  • https://git-scm.com/docs/diff-config#diff-config-diffexternal


  • Extract Icon from Windows .lnk (shortcut) file











share|improve this question



























    0















    (Q) How can I get git diff to show me the differences in shortcut files (*.lnk) on Windows?



    For example,



    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


    Instead of saying Binary files differ I'd like to see something like:



    - c:usersuser1myenvDocsDevNotes
    + c:usersuser1mystuffmyenvDocsDevNotes


    This lets me more easily decide if I want to commit the change or leave it local to a host.



    I did some searches and found that Microsoft seems to update shortcut files because it's what it does. See How to track .lnk files in git?. Interesting as this might be why my *.lnk files are showing up as different even when they might not have really been changed.



    My belief is




    1. Git can be configured to support custom diff programs for different file types. diff.external, and gitattributes look promising.


    2. Windows *.lnk files can be somehow compared. This is a starting point Extract Path from shortcut link - windows batch


    3. I can tell git to use a custom script that knows only how to diff *.lnk files.



    I've searched and found some things but nothing that already does this:




    • How to track .lnk files in git?


    • Why doesn't `git diff` invoke external diff tool?


    • https://git-scm.com/docs/diff-config#diff-config-diffexternal


    • Extract Icon from Windows .lnk (shortcut) file











    share|improve this question

























      0












      0








      0








      (Q) How can I get git diff to show me the differences in shortcut files (*.lnk) on Windows?



      For example,



      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


      Instead of saying Binary files differ I'd like to see something like:



      - c:usersuser1myenvDocsDevNotes
      + c:usersuser1mystuffmyenvDocsDevNotes


      This lets me more easily decide if I want to commit the change or leave it local to a host.



      I did some searches and found that Microsoft seems to update shortcut files because it's what it does. See How to track .lnk files in git?. Interesting as this might be why my *.lnk files are showing up as different even when they might not have really been changed.



      My belief is




      1. Git can be configured to support custom diff programs for different file types. diff.external, and gitattributes look promising.


      2. Windows *.lnk files can be somehow compared. This is a starting point Extract Path from shortcut link - windows batch


      3. I can tell git to use a custom script that knows only how to diff *.lnk files.



      I've searched and found some things but nothing that already does this:




      • How to track .lnk files in git?


      • Why doesn't `git diff` invoke external diff tool?


      • https://git-scm.com/docs/diff-config#diff-config-diffexternal


      • Extract Icon from Windows .lnk (shortcut) file











      share|improve this question














      (Q) How can I get git diff to show me the differences in shortcut files (*.lnk) on Windows?



      For example,



      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


      Instead of saying Binary files differ I'd like to see something like:



      - c:usersuser1myenvDocsDevNotes
      + c:usersuser1mystuffmyenvDocsDevNotes


      This lets me more easily decide if I want to commit the change or leave it local to a host.



      I did some searches and found that Microsoft seems to update shortcut files because it's what it does. See How to track .lnk files in git?. Interesting as this might be why my *.lnk files are showing up as different even when they might not have really been changed.



      My belief is




      1. Git can be configured to support custom diff programs for different file types. diff.external, and gitattributes look promising.


      2. Windows *.lnk files can be somehow compared. This is a starting point Extract Path from shortcut link - windows batch


      3. I can tell git to use a custom script that knows only how to diff *.lnk files.



      I've searched and found some things but nothing that already does this:




      • How to track .lnk files in git?


      • Why doesn't `git diff` invoke external diff tool?


      • https://git-scm.com/docs/diff-config#diff-config-diffexternal


      • Extract Icon from Windows .lnk (shortcut) file








      git diff git-diff windows-shortcut






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 '18 at 18:52









      PatSPatS

      79131122




      79131122
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436722%2fhow-can-i-get-git-diff-to-show-differences-in-windows-shortcut-lnk-files%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436722%2fhow-can-i-get-git-diff-to-show-differences-in-windows-shortcut-lnk-files%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          TypeError: fit_transform() missing 1 required positional argument: 'X'