I wanted a system which was like CVS but was peer to peer. Backup goes someway to solving this problem. Backup's stratergy is as follows:
backup is smart enough to resolve conflicts between RCS files, if it detects conflicts in other files it emails the responsible people with a diff of the conflict and asks them to fix it.
I use backup to keep all my software on all my computers up-to-date, it works well - I can grab my laptop and it will have current versions of all the code I'm currently working on. When I get home it will update the copies on my other machines.
Backup has some serious deficiencies - it doesn't scale at all well - and I've not tried it in a multi user situation - i suspect it would fail badly - it doesn't have nearly enough file locks.