Subject: Content-based source tracing, and tabs versus spaces

From: sur-behoffski <[email-masked]>
Date: Sat, 16 Jul 2016 20:06:27 +0930

I've mentioned this previously, but will just add quickly:

Some projects I've been on (admittedly originating in the '90s,
much, much later than the early UNIX tools), have had a
only-allow-spaces-for-indentation policy.  The rationale behind
this was because content-based version control systems (such as
Git) would treat any change in preceding whitespace as a
substantial change to the file, and the spaces-only approach, the
lowest common denominator, was the only choice that could make
the file indentation unambiguous in the face of hashes such as
MD5, SHA1, SHA256 etc.  (Things like "diff -b" meant that some
earlier source control systems could ignore changes in
whitespace.)

While there are other minor benefits to a non-TAB approach, my
(not so humble) personal opinion is the elimination of hash
ambiguity is the strongest argument for a spaces-only indentation
policy in the long run.

cheers,

sur-behoffski [etc...]