Recovering Corrupted Files: the Magic of Version Control

Have you ever edited a file, saved the changed version and then found that you needed to go back to the version before? Unless you made a backup copy of the previous version, it’s gone – overwritten by your new edits. While many of today’s PC applications support the ‘Undo’ function (if you still have the file open) or even revision control (if you remember to switch it on), there’s always a danger that you’ll modify a file in a way that turns out to be undesirable afterwards.

Online Versioning for Just One Person

Some online file storage services have understood the problem: they automatically store previous versions of your files. Dropbox for instance offers its versioning feature to keep track of the version and deletion history of your files for up to 30 days. Within that time window you can recover a previous or deleted version of your file whenever you want. Better still, Dropbox also offers unlimited versioning as an add-on feature for its Dropbox Pro service (but not for its free service) and includes it from the start in its Dropbox Enterprise offer.

 Other cloud storage providers have similar functionality. SugarSync, Egnyte, Carbonite and Wuala are among online file storage vendors that provide file versioning, often aimed at small businesses or above. Rackspace and Google offer object versioning, similar functionality that targets the online software developer community.

When Several People Need to Work Together

However, in many businesses there may be a requirement for several people to access files and change them in different ways. Software application development is a prime example; sales and marketing collateral, product user manuals and business models are all possibilities too. Within an enterprise, this may be handled by simply appointing one person to vet and control all the changes; or by using a version control system that allows several users to work on the same files at the same time.

A version control system operates by letting different users access copies of the same file; make their individual changes; and then send back their modified versions to the version control system, which in turn, intelligently merges the different versions back into one master version. The system does this by tracking all the changes made and comparing them. Previous versions are stored in the system along with records explaining what was changed in which version and why. Users can also make a separate ‘branch’ of a file and work on this independently with a merge back into the master version being done at a later date.

Taking Multi-Person Version Control to the Cloud

Will such a revision control system work in for online file storage? If it does, the advantages of team working on one site can become available to team members located anywhere in the world. The latest generation of revision control systems like the Git application designed for Linux systems can do this. These systems break free of previous requirements to centralize the file change tracking on one server and let users operate in more of a peer to peer mode.

Online file revision control for teams using Git is available for free. For example, using the open-source software Sparkleshare. If you want to use it, be prepared to ‘do it yourself’ and set up your own online hosting configuration accordingly. Potential advantages then include online productivity and savings in costs. On the other hand, if you prefer to leave the technicalities to somebody else, then you can pay for an unlimited versioning service like the one from Dropbox (but only for individuals, not for teams) and wait for commercial providers to catch up with open-source functionality.