On Fri, Aug 7, 2015 at 6:07 PM, Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx> wrote:
I have heard that things like Git and SVN use diffs to keep track of this
stuff - so it's a "diff"erent mechanism, perhaps - maybe serving the same
purpose of tracking daily changes, at least.
Others will have to confirm or deny my assertion, however.
Most version control software uses diffs. Git is an unusual beast
because it actually just stores snapshots of the entire repository. In
practice, the user interface is similar, but the internal
implementation is that it has to recalculate diffs on the fly when you
want to see diffs; whereas most other systems literally store the
diffs. The advantage of storing snapshots is that navigating among
different commits consists of merely moving a pointer to different
snapshots. Presumably, if all you have is diffs, then to navigate
among commits, you have to recreate files by reapplying diffs.
It's kind of academic, though. I haven't heard too much complaint
about the performance of any modern version control software. Git may
well be fastest overall, but plenty of systems are certainly "fast
enough" for most uses.
Oh, I will say that having a trail of commits (including the
timestamps and comments) makes me not miss the source line dates at
all. Besides being arguably easier to use, the commit history can't
easily be ruined by an errant keystroke, or by changing something,
then moments later thinking better of it and changing it back.