Currently our documents are all hosted in a Windows 7 box. Users can access the files using Windows share and the documents are available offline (windows 7 feature). The documents are being backed up daily by Windows 7 backup and restore utility. Users can access previous versions of the file (from the backups) using Windows Explorer "previous versions" feature.
This setup is currently working well, except for the following:
- We would prefer to have access to hourly versions of the file, not daily.
- The previous version mechanism is tied up to the backup mechanism. Windows 7 performs a full backup every week and incremental backup everyday. The previous versions of a file is actually what are the available in the backups. If you 20GB documents and want to maintain at least three(3) year history, you will use at minimum 3 years * 52 weeks * 20GB or about 3TB even if there are few changes in the documents. Its pretty inefficient use of space.
- Looking up previous versions of a file is very slow (tens of minutes). This is probably related to the previous issue - Windows has to traverse its all of its backups.
I am considering using SVN + autocommit/autoupdate tortoisesvn. It will have the following advantages:
- Backups are easy and will also backup the whole history of each documents. (Just backup the repository).
- Creating previous versions can be frequent. I think svn commit / update can be done every two minutes or so.
- Users can sync over the net.
However, I can see the following issues:
- More conflicts than the original setup because both multiple users can now edit the same file even both are online, i.e. can connect to the SVN repo. The users can off course lock the file first before editing, but that would mean they have to adjust.
- Delay on propagation of file changes. On windows 7 file sharing, changes made by one online user will be instantaneously available to other online users. With the SVN setup, changes will only be propagated when the users execute the svn add/commit/update sequence. Delay will be probably a few minutes. This workflow will no longer work: "Hi, I just edited document X, can you have a quick look?"
I would like to ask the opinion of the community for alternative setups, or improvements on the above setups to work out the kinks.