Why is sourceTree showing changes when there are none?
Asked by SgtPooki:

SourceTree is consistently incorrect with regard to my working copy changes.

Cygwin will correctly show: "nothing to commit (working directory clean)"

But SourceTree will show seemingly random files (sometimes they are my last commited files) as modified, with mode 100755 -\> 100644.

Is sourcetree attempting to change the modes of these files itself? Why? Stop it.

How do I get sourcetree to not be annoying?

Thanks!

-The guy who reverted back to CLI, despite sourcetree's pretty git commit history graphics, because it does too many magics that break stuff.


Answers:
author: Hassen Charef
body: SourceTree still shows me files with that message, those files have not been changed.

For example: My LESS files are compiled to CSS, even if they are just recompiled, sourceTree still shows them to me.

We need an option to hide those files if no changes have been detected.

comments: author: Matthew Lawrence
body: agreed


author: Abhishek Jindal
body: Still can't find any solution to this problem , i tried changing SHOW WHITESPACE to IGNORE WHITESPACE but that does not do anything....   

<br />


author: Kirill Khazan
body: It looks like I found a way to fix this problem: go to Tools -\> Options -\> Git -\> press Use System Git. Upon refresh, SourceTree no longer showed the files in question as changed.

comments: author: Todd Benham
body: Apparently this is not an option anymore.


author: Seth
body: [@Todd Benham](/t5/user/viewprofilepage/user-id/2282149) - Could you clarify? I still see the option:![image.png](https://community.atlassian.com/t5/image/serverpage/image-id/37975i33BB422E3F7BEC09/image-size/large?v=v2&px=999 "image.png")Maybe a difference between Windows and Mac? My screenshot is Windows.


author: Todd Benham
body: Oh geez, thanks for that clarification, I was looking for literally "Use System Git" not just System under Git Version.


author: Seth
body: From my experience, Git doesn't pay attention to file permissions on the working copy. You have to explicitly modify permissions on the index, which is annoying if you have shell scripts in version control that need the executable bit set.

It's possible that SourceTree has a "feature" to detect permissions changes on the working copy and make the index changes for you as though they are a standard commit.

100755 -\> 100644 implies that the executable bit has been un-set. This seems possible to be the behavior of your editor, combined with the fact that Git CLI ignores that particular type of change.

Of course, I use SourceTree on windows, so my file permissions system is not translatable to \*nix permission bits, so I can't have this problem. It could be SourceTree, I suppose.

comments: author: SgtPooki
body: It appears that git actually recognizes these changes by default(core.fileMode=true) - [](https://www.kernel.org/pub/software/scm/git/docs/v1.7.10.1/git-config.html)<https://www.kernel.org/pub/software/scm/git/docs/v1.7.10.1/git-config.html>  

However, the documentation states that cloning or init-ing a repo can cause it to set core.fileMode to false.. but not exactly under what circumstances it makes this change.  

I'll have to double check and see what my git config looks like for that project tomorrow..


author: Stanley Kurdziel
body: +1 `git config core.fileMode false`

This didn't actually change my `git status` output from the command line, but did change the results in sourcetree


author: iSlash LT
body: `git config -``-global core.fileMode false`


author: Donatien RIVIERE
body: Note that setting it at global level might not be enough, if the local config overrides the \`core.fileMode\` property to true.

However, that's the preferred approach as it's more a system related setting.


author: aaron perez
body: Sometime SourceTree detects changes when there are space blanks (ejem: indentation spaces), but does not display the change log, only just send alert that there are changes.

.

comments: author: Seth
body: Yes, this is expected behavior if you have your diff options set to "Ignore Whitespace".