LWN.net Logo

Keeping Your Life in Subversion (O'ReillyNet)

In this O'ReillyNet article, Joey Hess talks about using Subversion for keeping track of more than just source code. "I keep my life in a Subversion repository. For the past five years, I've checked every file I've created and worked on, every email I've sent or received, and every config file I've tweaked into revision control. Five years ago, when I started doing this using CVS, people thought I was nuts to use revision control in this way. Today it's still not a common practice, but thanks to my earlier article "CVS homedir" (Linux Journal, issue 101), I know I'm not alone. In this article I will describe how my new home directory setup is working now that I've switched from CVS to Subversion."
(Log in to post comments)

Keeping Your Life in Subversion (O'ReillyNet)

Posted Jan 7, 2005 20:50 UTC (Fri) by lacostej (guest, #2760) [Link]

One can also implement something like that using the forthcoming JSR-170 in Java (a JSR to "access content bi-directionally on a granular level within a content repository").

If you mount something managed by such a tool, e.g. through a webdav share, you get features like versioning transaparently. Of course the versioning implementation depends on the JSR implementation.

Of course, one has less control than with a direct use of SVN/CVS, but it's supposed to be transparent.

I find that interesting. Not for eveyone, but still.

Keeping Your Life in Subversion (O'ReillyNet)

Posted Jan 7, 2005 21:02 UTC (Fri) by jeld (guest, #22397) [Link]

I suppose this is not for everyone... Personally I have a bunch of movies and mp3s stashed on my harddrive (bought and not shared) which never change. If I were to put all of this stuff into SVN, I would just store them in two separate places wasting a load of diskspace (close to 50 gig)

Keeping Your Life in Subversion (O'ReillyNet)

Posted Jan 7, 2005 21:19 UTC (Fri) by dcreemer (guest, #5103) [Link]

Well, as the author says, "At this point I should fess up to my dirty little secret: not everything is
in svn after all. My full home directory with all the trimmings often runs to dozens of gigabytes.
Much of that is collections of music files and documentation, which I have not yet dared to check
into svn ..."

/etc in Subversion

Posted Jan 7, 2005 21:27 UTC (Fri) by lakeland (subscriber, #1157) [Link]

I've often thought it would be nice to put /etc into subversion/CVS. That
way if you notice something is not working you can nicely trace the
history of its changes.

However, every time I've thought about doing it, I've though: "Hang on,
wouldn't that hard linking backup idea work much better for this?" and
haven't quite got around to implementing either :-/

Corrin

/etc in Subversion

Posted Jan 7, 2005 21:53 UTC (Fri) by jtc (subscriber, #6246) [Link]

"I've often thought it would be nice to put /etc into subversion/CVS. That
way if you notice something is not working you can nicely trace the
history of its changes."

I did this, using CVS, about a year or so ago. It's worked well so far.

In the early 1990s...

Posted Jan 8, 2005 1:21 UTC (Sat) by sphealey (guest, #1028) [Link]

In the early 1990s that was called "document management". SoftSolutions had a nice product, as did a few others. The concept didn't go anywhere at that time; I never fully understood why not.

sPh

Keeping Your Life in Subversion (O'ReillyNet)

Posted Jan 8, 2005 12:25 UTC (Sat) by zooko (subscriber, #2589) [Link]

I keep my ~/.* files and several different /etc/* subdirectories in darcs.

darcs is very convenient for making changes while disconnected from the network. Every darcs sandbox is also an independent repository that can act as a client or server to any other repository at any time. Networking is all done over ssh or (for read-only access) http, so it's nice and easy to sync up my files on different hosts. darcs also offers a uniquely convenient way to pull *some* patches from another host while excluding other patches from that host, which I use whenever I change my dot-files on one host in a way that I don't (yet) want to propagate to my other accounts.

Regards,

Zooko

Keeping Your Life in Subversion (O'ReillyNet)

Posted Jan 10, 2005 8:35 UTC (Mon) by oever (subscriber, #987) [Link]

Slightly more storage use but more convenient is this little backup
script. It keeps a current copy of the files in one backup directory. If
a file is changed, the old version is stored in a folder with todays date
and the new version is placed in the current backup dir. In this way, I
always have an easy and quick way of any recovering file. The space
required for this scheme is about 150% of the directory you backup,
provided, you store the older files to a disk or /dev/null regularly.

DATE=`date +%F`
DIR=/home
BACKUPDIR=/backup
if [ -e $BACKUPDIR/$DATE ]; then
echo You have already backed up today. Try again tomorrow.
exit
fi
rsync -abv --backup-dir=$BACKUPDIR/$DATE --delete \
--exclude-from=$BACKUPDIR/exclude --delete-excluded \
$DIR $BACKUPDIR > $BACKUPDIR/$DATE.log \
2> $BACKUPDIR/$DATE.err

The file /backup/exclude contains wildcards for excluding some
unimportant cache directories like ~/.thumbnails.

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds