reduces the disk space used by subversion working copies with many and/or
large files (e.g., my photo album), by acting as an overlay file system
that detects and omits a type of "redundant" data in subversion working
copies. 2007:10:24 saw the release of version 1.0.0. scord is my
second open source program
Since I started my photo album in 2003, I had kept current copies on
two or three computers, to use from my laptop, to publish on the web,
and also to protect against a harddrive failure or an accidental,
destructive edit. However, because this replicated only
the current version, I could permanently lose data should I accidentally
erase something locally and push the change to my other computers
prior to noticing. This even happened once. But only to an icon; and
the replacement icon turned out better than its predecessor.
Version control systems solve this problem for source code (e.g.,
Subversion and GIT), but all the systems I was interested in using
stored two copies of each file: a copy the user reads and changes,
and a pristine copy used to detect changes the user has made.
I didn't even have this much extra space for my 6 GB photo album on some
of my computers.
However, the extra copy is only rarely "needed", when the user copy
actually differs. So scord takes advantage of this and stores only a single
copy of unmodified files,
but exposes a file system where it looks like there are always two copies.
This solves the problem without modifying subversion or changing how
one interacts with subversion (the reason the subversion developers
have not solved this problem during the past six years).
The first scord checkin was made on 2007:03:25.
I started storing my photo album in subversion and scord by 2007:04:18
(until then I couldn't checkin my photo album, because prior the APR package
on photo.frostnet.net did not support large files).
scord was feature complete for me and released as version 0.9.0 for
feedback on 2007:05:23.
Version 1.0.0 was released on 2007:10:24, once the SOSP conference was over,
adding Mac OS X support.