Tag Archives: Corrupt

Thank Heavens for Sprite Backup

This morning I had one of those real sinking feeling moments. I got to work, pulled out my Dell Axim PDA and plugged it into it’s cradle hooked up to my PC and rather than the usual screen was greeted with a big error message stating that there was memory corruption and asking me to press one of the buttons to continue. Pressing this caused the PDA to reboot, and then go through the first start-up screen calibration routine before dumping me at an empty today screen.

Now this isn’t the first time this has happened. The first time I had to reinstall all my applications, fix all the configuration – basically it was a long job. After that experience I looked around and bought a copy of Sprite Backup a bit of software that does a significantly better job of backing up a Pocket PC device than the included option. Every morning when I plug in my PDA it automatically takes a backup of the contents of the device – this morning I was very grateful that it did.

The only thing I had to install back onto my PDA was the Sprite Backup software, and then I just had to configure that to use the ActiveSync connection to talk to the other part of Sprite Backup on the PC. Then I just had to select my last daily backup and click the start button. Twenty minutes later after replacing all the missing files and putting back on all my settings the PDA rebooted and everything looked as it should. Then you only have to wait a few minutes whilst ActiveSync, which unfortunately decides that all the replaced contacts and calendar entries are new sorts itself out (just a question of letting it replace the data – the stuff in Outlook is probably more up to date than the backup anyway), and then everything is back to normal.

Seriously, if you’re running a Pocket PC PDA, something like Sprite Backup is an absolute life saver. True if you’re syncing your calendar and contacts to a desktop your information is relatively safe, but even then it still does take a lot longer to rebuild if you have to manually reinstall all your applications – Sprite Backup does the lot. The backup each morning is a bit annoying at times, but I’ll happily take that instead of the frustration when invariably the Pocket PC crashes.

Visual Source UnSafe

I have to say, I know a lot of developers who aren’t exceedingly impressed with Microsoft Visual Sourcesafe. Most people acknowledge that it is a pretty basic source control system, and really only any good for simple projects. Having said that, I’ve used it for over ten years, since before it was a Microsoft product. (The package was originally produced by One Tree Software, founded in 1992, and then taken over by Microsoft in 1994. You can read a blog entry by one of the original three people who set up One Tree, and went to Microsoft here.) Aside from a big disaster with a database with an early version, I’ve not usually had too much problem with the product. Certainly with the more recent versions, although I knew people who had encountered problems, for the sort of basic source control stuff I was doing, it had been reliable, until today.

The problem I had today came about as a result of us having to move our SourceSafe database. This should be a relatively straightforward process, as a SourceSafe database is basically just a collection of files. Anyway, the problem was that the database didn’t copy cleanly, failing on 37 files, that for some reason it couldn’t copy.

On that basis, I thought I’d use the SourceSafe database analysis tool to see if there were any problems – which produced several pages of files that were apparently corrupt, and suggested that I run the analysis in fix mode, to fix the problems.

So following the instructions, I ran the fix, and this claimed to fix the problems, so I tried the copy again, and it managed to copy everything.

At this point we opened up the database in SourceSafe, and started spotting problems. Amongst a catalogue of problems we had files and projects totally missing, whilst others had the wrong files in them. All in all it was a total nightmare, the tool you rely on to keep your work secure had basically scrambled it. The most recent backup was from Tuesday, so currently we have the backup, alongside the semi-corrupt database.

Anyway, at this point I had a look around the web, and came across an interesting article on SourceSafe defects, and some pages on SourceSafe internals which made interesting reading when reviewing some of the things that had been done to our SourceSafe database over the past year or so. Having read some of those, I’m amazed we didn’t have problems sooner.

So, I have to say that my opinion of SourceSafe has definitely got worse, and the key mantra when using it is to not try to be clever. Particular techiniques to avoid are deciding to restructure you source tree part way through a project, and trying to generate new project release trees using branching and sharing.

Having said that, it is worth bearing in mind that the current version of SourceSafe that is used with Visual Studio 2003, is a patched version of the version that shipped with Visual Studio 6, a good few years ago – however this year it is finally being updated, with a new release, plus a new big brother, Team System. Hopefully as a result of today things will be put in motion to upgrade to something where the repair tool doesn’t make the problems worse!!!!