No announcement yet.

Difftool -D not saving

  • Filter
  • Time
  • Show
Clear All
new posts

  • Difftool -D not saving

    I have tried setting sessions to "Also update session defaults"

    difftool -D --no-symlinks master
    difftool -D --symlinks master

    It seems to only work intermittently when I have no committed to a branch yet. Once a commit has been made the directory does not save any changes made to files. I have to run the difftool command with -D and look at every single file (it saved if I do it that way)

    The file locations are C:\Users\bh\AppData\Local\Temp\git-difftool.VVn1J\left and C:\Users\bh\AppData\Local\Temp\git-difftool.VVn1J\right

    What can be the issue?

    4.1.4 build 20978 on Windows 8

  • #2

    We'll need more information on your current .gitconfig and how it is currently set up, and your current version of Git. Minor updates in Git can have a large impact on difftool behavior as they are constantly patching and changing things. Please update to the latest release. If you could post your current config, that would be useful. Or email us at with a link back to this forum thread for reference.

    And is "-D" your alias for "--dir-diff"? Also, what exactly is the error you are hitting? Does the comparison load the correct sides and if you view the file content it appears correct? It is specifically that edits are not saved? Are you editing a "remote" or "historical" side; that should be read only and not allow edits.

    Are you running Windows 8 or 8.1, and with all the latest Windows updates? Also, please update BC4.x to the latest release (4.1.6) for all of our current bug fixes and enhancements.
    Aaron P Scooter Software


    • #3

      [mergetool "bc4"]
      	cmd = "C:/Program Files (x86)/Beyond Compare 4/bcomp.exe" "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
      	trustExitCode = true
      tool = bc4
          tool = bc4
          prompt = false
      [difftool "bc4"] 
          cmd = "C:/Program Files (x86)/Beyond Compare 4/bcomp.exe" "$LOCAL" "$REMOTE"

      I thought git -D was a standard alias for --dir-diff in git (No entry in my .gitignore) but yes, its --dir-diff.

      Running git version

      The comparison works as it should, both content appear. However when I make changes to the right file and then exit and say yes to "save changes on the right" those changes aren't actually saved. Specifically the edits aren't saved.

      I believe I am editing a local side, and I call it like t his

      git difftool -D master

      where master is my local master and not origin, it compares my current branch with master with directories.

      I am actually running Windows 7 Professional with service pack 1 (First post was apparently a mistake). All updates applied

      I have upgraded to BC 4.1.6 and the issue still occurs


      • #4

        I would suggest using our "bc3" setup instructions here:

        Git respects "bc3" as a keyword for using BC4 as a difftool (and will hopefully update with a more generic phrase in time).

        Testing with the latest Git 2.8.3, saves to the local side are saved, but edits to a past version or repo version are not saved.

        I'm not familiar with -D is a global alias; you may have set it up previously as?:
        git config --global alias.D "difftool --dir-diff"
        Aaron P Scooter Software


        • #5
          bc3 didn't fix the issue.

          alias D or d was not found in my aliases using git config --get-regexp alias
          It may be a windows github thing (I installed github windows app to install git)

          Here is a video showing the problem:


          • #6
            Are you using the latest release of Git from GitHub from Which version does your install report with git --version?

            I installed Git 2.8.3 for Windows from If you try the general command: git difftool --dir-diff what results do you see?

            In the video, you edited the right side both times; I assume that is the current working file/side, correct? Or would GitHub make the Left side the temp location representing the Local/Working files? Both paths are "temp" locations, but only one of the sides would correspond to your working directory/local/current version which is editable.
            Aaron P Scooter Software


            • #7
              I think I finally figured it out. I have to unstage all the files first that I want to save with beyond compare