Finally got convinced to start using some kind of version control for my code instead of zipping down a copy of the project at the end of each day.

Downloaded Tortoise SVN and used it to create a repository localy on my hdd. I've been using it for 2 days now but I have to say that using it is actually more hassle than just copying the project manually in explorer. Sure, you only store incremental changes but with the cheap disks of today I can't really say that's an argument when you only have small projects. I haven't realy found a quick way to browse the older versions of my files eighter.

What I want is an infinite undo that is completely transparent while I code, if I save the file I want a backup. I don't want to check out, check in and don't even get me started on moving files. I haven't tried Time Machine for OS X but it looks like it's exactly what I'm looking for.

Does such a program exist for windows? Preferably free and with some kind of tagging-system so I can tag a timestamp when the project is working etc.

Maybe should add that I mostly work alone on a single computer.

Update: Some of you asked why I want backup. Since I work alone it's mostly to allow me to quickly hack up a solution without worrying that something will screw up.


I think that you are really underestimating the benefits of source control. As Dustin pointed out, there's branching, merging, and sharing. Also, using a source control system can let you easily figure out when each line in your code was last changed. SVN can also track the history of files even if they are renamed or moved to a different directory. Merging can even solve problems even if you are only 1 developer, as you can work on your desktop, laptop, and other computers without having to worry about overwriting changes.


That would be Auto-Versioning (to stay with Subversion):

Autoversioning is a feature whereby generic WebDAV clients can write to a DeltaV server (like mod_dav_svn), and the server performs commits silently in the background. This means that if you use Apache httpd as your Subversion server, then most modern operating systems can mount the repository as a network share, and non-technical users get "transparent" versioning for free. (Of course, technical users can still use Subversion clients to examine repository history.)


Don't confuse backup solutions with version control. They are both important but have different purposes. What you should really be doing is using version control (svn, cvs, mercurial, git, whatever) and having that automatically backed up somewhere else besides your HDD, preferably off-site (paid host or S3). Or go 100% remote and find someone to host your SVN repo. I would suggest Unfuddle. You can set up a free SVN repo there without too much trouble.

Bite the bullet and use SVN. It might not be as easy as what you're used to, but when you have to do a very specific rollback or compare the changes between files, you'll be glad you did.


Check out FileHamster @ http://www.mogware.com/FileHamster/ . It automatically backups your files as revisions everytime they change.


Full Disclosure : I work for Altaro Software.

If you want a Time Machine for Windows then get on the 'Oops! Backup' BETA list

We are a new software company Altaro Software and we are developing a software backup product / version control product called 'Oops! Backup'. Oops! Backup is a hybrid between a traditional backup product and a lightweight version control system. Oops! Backup automatically tracks changes to documents, photos and other files and allows you to backtrack to any point in time. To a certain extent it's the equivalent of Time Machine for Windows.

Please note that I said lightweight version control - this is not a product that is meant to replace a proper version-control product. Our developers use SVN and Oops! Backup at the same time. They use VSN for proper version control with checkin/out features but they also use Oops! Backup for the Oops moments that they sometimes get and need to quickly find a previous file version without having to go through a whole checkout process.

We invested a lot in user experience AND eye candy - as we understand that eyecandy does NOT imply user experience.

We will be going into BETA soon and are looking for BETA testers - anyone willing to give it a try check out http://www.altaro.com/download.php. On these page you can also see product screenshots.

Your opinions and constructive criticism would be greatly appreciated (would love to hear the bad stuff ... more than the good stuff)

As I said earlier - Oops! Backup does not replace the need for a proper version control product - but it compliments it. It can be used as a way to version control but then you won't have checkin/out and the branching would have to be done manually by creating a new folder.

Sorry for the plug!!

David Vella - david@altaro.com


A solution that is very much like Time Machine was presented in German c't magazine some time ago. While the article itself is available for 60cents the scripts themselves are free: http://www.heise.de/ct/ftp/06/09/126/

Basically it uses rsync to backup your data to an external NTFS formatted drive. With each new backup it only stores new files to the backup disk, but creates hardlinks to everything else. Effectively you will see a complete folder structure for each and every backup, but only use the space needed for the first full backup + any changes that come later.

It's not as fancy as Time Machine, but it is the same technology (Time Machine uses rsync as well, as far as I know) under the covers.


Time Machine is a somewhat ordinary backup / restore solution. Use any Windows backup tool with automated daily incremental backups and you have pretty much the same. However, even if it is possible to restore previous (daily) states it may not the fastest solution.


@Lukman and Paul, I like the idea of those simplified versioning systems for regular documents, but i think its a mistake to use them for source code - inability to branch, merge, and share is going to really hold you back.


A few thoughts:

You might like SVK, which seems to plug-in to SVN. I haven't tried it myself, but it looks interesting.


Tools such as Trac provide decent SVN repository browsing and might be worth looking into.

If you're having trouble figuring out the right jargon to search for, search for 'snapshots'. You might also want to build some kind of archiving process into your build system so that every time you run make, you get a snapshot automatically (or whatever makes sense for your situation).


I have cron (search google and pick one you like) and then a command line script to run pkzipc on my souce folders every couple of hours. once I tied the start of cron to my startup I just started it and forgot it. saved me 1 time when in a late nite brainfreeze I typed del /f /s *.cs


Windows Vista Business, Enterprise and Ultimate have this feature built in ;)


You will want to check this out if you're interested in Apple's Time Machine and have a Windows platform OS.


Beta to be released soon... You might wanna sign up for it... Can't wait to get my hands on Genie Timeline...

Apparently, its features include Realtime CDP, endless file versioning, automated backup, window's integration to the core... I've been waiting for this kind of software to be released on Windows for ages...


Windows Server 2003 and later have a "Shadow Copy" feature, which is similar to Time Machine, but intended for a networked, enterprisey environment. You might be able to set it up locally if you really want to.

However, that would really be an inferior solution to good source code control. With source control, you can view a complete, detailed history of every line of code in your codebase. It's hard to appreciate how valuable that is, until you've tried it.

Shadow Copy


i like to store and work on my projects using dropbox (http://www.getdropbox.com/). not only does it automatically backup your work, it keeps revisions for you as well.


What are you wanting the source control/multiple backups to do?

There's two reasons for source code control in my view - configuration management, and protection against developer finger trouble/stupidity (much evidenced by me). If the latter is the issue, then the suggestions below (or FileHamster as recommended in another answer) will do the job.

If as Dustin Getz suggests it may be, it's about configuration management, branches, etc then the SVN or other source code control program recommendations are better than my suggestions.

So, not used it, and not free ($32), but googling showed up

TrackMyFiles - http://www.trackmyfiles.com/en/features/

  • Tracks and stores changes to files automatically
  • Allows you to view and restore old file versions
  • Important file versions can be labeled explicitely
  • Compatible with most file types, such as Microsoft Word® Documents and Microsoft Powerpoint® presentations
  • Efficient storage of changes through delta compression algorithm
  • Integrated into Microsoft Windows® File Explorer for seamless operation

60 day trial version available, according to that website

Or, if you're using Vista, there's shadow-copy built in. See http://en.wikipedia.org/wiki/Shadow%5FCopy


Not sure if this simple utility can fit your purpose: http://downstairs.dnsalias.net/revisionmanagement.html


If you are literally looking for "Time Machine for Windows": Windows Vista comes with Time Warp (that's the codename, I forgot what the finished feature is called). It's pretty much the same thing as OS X's Time Machine, only with less hype.


Try Flashbake. It can backup every n minutes (via cron and presumably Windows Scheduler) files that haven't changed in m minutes (can be 0). You would need Python, so Cygwin or ActiveState Pyton. It is based on git and designed for non-technical types.


You could use a vm and take snapshots before you make big changes? Its pretty painless to roll back that way - about 5 mins and your done :)


SlickEdit has a nice feature that is similar to what you are describing. Every time you save the file you are working on, it creates a local (diffed) backup. At your leisure, you can then look back through the local file history. You can use this to supplement your SVN repository, which SlickEdit can also integrate with.


I would suggest using a version control that you can plug into your IDE. That makes working with it a breeze. Just click update/commit in your source tree and you're done!


It seems that most Time Machine-like answers are especially about creating the backup, not about restoring for dummies when required.

See Time Machine for Windows on Super User for some generic thoughts on that, and on why I think the brand new Genie Timeline in particular is not yet a Time Machine clone.


Cygwin + rsync + a script Easy Automated Snapshot-Style Backups with Linux and Rsync to handle old versions works good. No GUI, though.


lollllllll oopssss))))) hehe


you can try Genie Timeline, it's like windows time machine for windows and and you can go back to the version you need using a time slider to view each version http://www.genietimeline.com


SVN isn't very effective for solo developers. Check out BZR. I use BZR for all my personal projects and my home directory, use SVN only for the big work project.