Here's the trouble with having the merge tool ignore the spaces... I was personally involved in finding that flaw in three major source control systems. One of them was obsolete, another realized the underlying math flaw in ignoring spaces during a merge and immediately hotfixed it, and the other source control system I was in charge of so of course we immediately hotfixed it too.
When merging Base + Theirs + Yours the merge computes diffs between Base vs Theirs and between Base vs Yours. It then aligns the two sets of diffs. Where they intersect it is considered a conflict. Where they do not intersect an automatic choice is made whether to keep the set of modified lines in Theirs or in Yours.
But if spaces are ignored then there are two problems that occur.
1. A cosmetic problem: by ignoring spaces, the merge will not merge changes that occur in spaces. So for example, suppose the Theirs copy has indented a chunk of lines, but the Yours file has made a non-space functional change. If spaces are ignored, then it appears that Theirs has no changes. So, the result of the merge will either lose the indentation completely, or it will preserve the indentation on most lines but lose the indentation on the lines modified in the Yours file. The natural reaction is to look for heuristic band-aids to apply to "nudge" the merge results to be what we desire for certain specific scenarios. The risk in doing so is that each heuristic can have a ripple effect to cause some seemingly unrelated other scenario to begin to go awry. It's dangerous to apply heuristics (case in point, ignoring spaces has at least two ripple effects).
2. Silent removal/duplication of code: ignoring spaces can perturb the Longest Common Subsequence (LCS) found between Base vs Theirs and between Base vs Yours. The LCS's may be perturbed in such a way that two changes that would otherwise be in conflict do not get interpreted as intersecting. This can then lead to silent removal or duplication of changes. I use words like "can" and "may" because it does not always happen, but it can/may/does happen sometimes. It's silent.
There are probably merge papers on the interwebs that go into more detail about these types of issues, but that's the basic idea. I would say that hypothetically it should be possible to build a set of heuristics that check and balance and influence each other to arrive at consistently desirable results. The hitch is that it's not safe to see an issue and devise a heuristic for that specific issue alone -- there are too many unseen scenarios that are easily perturbed by ripple effects. It's a field that could use some intense academic research.
Anyways:Here is a link to where I posted
the macro.