I have another reason for the old-fashioned approach.  I do hedge fund accounting for a living.  With my software tools I can reproduce every result ever created for a fund from <i>original input</i>, even going back several years.  I have translators for various brokerage feeds that I've had to maintain and adapt for years -- and this is no small feat considering that information technology people in the financial industry can't do a complete, consistent, or stable data feed to save their lives.<p>Whenever I make a change, either to a translator or even the core accounting code, I make a copy of the library.  I then have to go back and run all funds, including my test funds, as a regression test using the new modified library.  I have to do that one fund at a time, testing to make sure no catastrophic differences have arisen.  So during this interim period, I have some funds running on the new code and some funds running on the old code.  BOTH versions have to be "live" at the same time.<p>I also have to keep backups of the <i>data</i> as well, both inputs and outputs, so I can "diff" those easily.  I'm sure as heck not gonna put <i>that</i> into git.<p>So I'm not just stick in the mud trying to be contrary -- I have work to do, and it needs to be as reliable as a Swiss watch.