Diff tool - Beyond Compare opens file in current branch into a temp directory not the repository
Asked by peterthecasecentreorg:

I have been using Sourcetree several years now, but recently I have encountered a new problem with using Beyond Compare as the diff tool.

Up until recently, when I compare a file in the latest commit on the currently active branch with an earlier commit on the same branch, the earlier commit file would show in source tree in a temp directory, such as C:\\Users\\Peter\\AppData\\Local\\Temp\\Mxm5Gc_requestHandler.cfc.

But the current commit version would show in the correct path in the repository. For example, C:\\development\\repository\\requestHandler.cfc

However, recently it has started opening both the current file and the earlier version in temp directories

i.e.

C:\\Users\\Peter\\AppData\\Local\\Temp\\cjovMc_requestHandler.cfc

C:\\Users\\Peter\\AppData\\Local\\Temp\\Mxm5Gc_requestHandler.cfc

This means that I am unable to make changes to the current file via beyond compare, as it is not showing me the current file, but rather a copy in a temp directory.

This effectively stops me being able to use Beyond Compare to resolve merge conflicts anymore.

I am not sure why this has changed and why it suddenly seems to be opening the current file on the current branch as if it needs to be in a temp directory.

I have tried googling this and not found any answers so far.

I have tried some of the more obvious things:

- making sure my version of source tree is up to date (I am now on 3.3.8).

-setting the diff tools option back to default, then resetting to Beyond Compare,

but none of this has made any difference.

Has anyone else had and resolved this issue?

I have added screen shots of:

the diff options in tools / options,

showing how I select the diff tool on a file with the current commit and earlier commit on the same branch

showing beyond compare with the different file versions both showing in temp folders rather than one in the correct repository path as expected.

![Diff_Tool_Options.png](/t5/image/serverpage/image-id/83754i97FC17AEE61859EB/image-size/large?v=v2&px=999 "Diff_Tool_Options.png")![Selecting_File_And_Using_Diff_Tool.png](/t5/image/serverpage/image-id/83756i8B143E0D351C7A15/image-size/large?v=v2&px=999 "Selecting_File_And_Using_Diff_Tool.png")![Showing_two_temp_locations_in_Beyond_Compare.png](/t5/image/serverpage/image-id/83755iA3EDBE02A33C4F2B/image-size/large?v=v2&px=999 "Showing_two_temp_locations_in_Beyond_Compare.png")

Thank you


Answers:
author: peterthecasecentreorg
body: We managed to solve this in the end.

It was both quite simple and quite messy.

It was simple in the fact that somewhere along the line, my version of Git had gotten updated. (I was on the embedded version of Git).

So, the short version of the story, I got rid of any versions of git on my machine and rolled back to git version 2.14.3 and then set Sourcetree to use this.

This is because we eventually found a blog post suggesting the temp folder issue had appeared sometime after 2.14.3 of Git.

It was messy in as much as it took a long time to figure this out and several uninstalls / reinstall of git and sourcetree before it eventually seemed to realise that it was using the new (older) version of Git.