Diff stopped working on .pbxproj files

I used to always see diffs in SourceTree of my .pbxproj. As of about a month ago, I see "diff suppressed". This happens consistently across Xcode projects. I do not have any files set to binary in a .gitattributes file, and `git diff` on the command line shows me the diff. How can I troubleshoot this problem? It's a pain to use an external diff, as sometimes I want to be able to stage or discard lines or hunks.

I'm running Xcode 4.6.2 and SourceTree 1.5.6.

2 answers

1 accepted

3 votes
Accepted answer

Open up Preferences, go to the Diff tab and check out the suppression options there - to keep performance snappy we have options to suppress interactive diffs when files get to a certain size, or certain types of file (wildcard matches). You can tailor those to your needs.

Thanks Steve. I did have *.pbxproj in thos settings, but I've removed it and I still see the same thing. I tried quitting and re-starting SourceTree, making more changes to the project file, and clicking View->Refresh in SourceTree, all to no avail.

Is it possible the *.pbxproj has now exceeded 1MB? I sort of doubt it, but that's the only thing I can think of.

Yes, that was it. Thanks! Updated the size limit to 2,048kb and I'm back in business. For some reason it didn't even occur to me to check the size.

Thanks, both. This has solved the problem for me.

For the record the project file for one of our projects is currently tipping the scales at just over 1.2MB in size. The main reason for this is that we've got a reasonably large number of targets (i.e. added files soon increase bloat if they're members of all targets).

I wonder whether you might consider, in future:

  1. Increasing this limit by default (modern hardware will cope).
  2. Display a more helpful message up front in your UI when refusing to present the internal diff viewer - e.g. "Files size exceeds Internal diff view size limit of 1,024 KB. This limit can be changed in Preferences.".

Yes, a better message would certainly be welcome. I was banging my head on what I thought was a small XML file, but the diff was being prevented by file size as well. Why 1MB only?!

Stumbled into this problem now. Still had to resort to online search to understand the problem, and it's Feb. 2017

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Oct 23, 2018 in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

831 views 3 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you