SvnBackup - backup your local working copy modifications

by Mark 25. July 2011 21:13

I love a command line utility, and after recently losing a hard disc full of uncommitted SVN changes, the need for a new one arose.

The resulting utility (SvnBackup), takes a list of local working copy directories and queries them using the "svn status" command.  A list of added, modified, or unversioned files is compiled, and the files are then copied to a specidied backup location. 

System requirements are that you have an SVN client installed on your machine (I use TortoiseSvn), and at least version 3.5 of the .NET runtime.

I've setup a scheduled task on my dev box which is triggered every time I lock my machine.  The task executes SvnBackup like this (paths have been changed to protect the innocent):

svnbackup.exe -d "z:\backup" src="d:\src\some-important-website,d:\src\common-utils,d:\src\android" > "C:\logs\backup.txt"

The scheduled task also pipes the console output to a text file, giving me visibility of any problems.

Something I've not done before is use System.Diagnostics.Trace instead of System.Console when writing to the screen.  For console applications this makes the implementation of a "quiet" flag very simple; Messages will only be written to the screen if you explicitly add a ConsoleTraceListener, like this:

if (programSettings.WriteToConsole)
{
    Trace.Listeners.Add(new ConsoleTraceListener());
}


Download here: SvnBackup.zip (7.30 kb)

Tags:

SVN

Restoring an Acorn A3000

by Mark 23. July 2011 07:23

Twenty-odd years ago, my parents purchased the Webb family's first computer - an Acorn A3000.  This was big news at the time, and a ten year old Mark Webb lorded it over his school-friends in the playground with tales of 32 bit computing and 256 colour graphics.  Nothing dates like a home computer however, and five years later the useless old Acorn wass shoved aside in favour of a shiny new Pentium 100 PC. 

In a fit of nostalgia, I decided it was time to get the Acorn down from the loft and get it running for the first time in fifteen years. 

I knew there'd be some work to do - late in its working life, the A3000 developed a habit of hanging whenever the case got knocked.  In addition, I was convinced that the CMOS battery would have leaked all over the motherboard. 

While removing the case and keyboard for cleaning, the cause of the hanging issue was finally identified - the front of the motherboard was wedged above the clips that are supposed to hold it in place.  As a result, the motherboard was under tension and several of the ICs had become slightly dislodged.

The CMOS battery had leaked, but nowhere near as badly as I had feared.  The old battery was desoldered and the area around it cleaned with a water and vinegar solution.  A new CMOS battery was sourced from from APDL and soldered into place.  In hindsight, I should have attached the battery via flying leads, so if it has to be replaced again I won't have to go near the motherboard with a soldering iron.

With the machine reassembled and connected up to my Acorn RGB monitor, it was time for the first test boot:  Blue screen.  Pink screen.  Black screen with white dots whizzing from left to right - Oh dear. 

Cue frantic checking of soldering, wiring and prodding of ICs:  No difference.  Last resort - reset the CMOS settings by holding down Delete while powering the machine on.  Bingo!

Having tested that all the keys work and that !Paint is still !Paint, I decided the leave the machine and monitor on for a while to acclimatise to their new powered-on state.  I came back fifteen minutes later to a blank screen and a high pitched squeal.  My poor old RGB monitor had given up the ghost.  So here, in super-wide-o-vision, is my A3000 connected to a 40" Sony television:

Things I'd like to do:

  • Get rid of the case yellowing using the method documented on the Retr0brite site
  • Install an IDE mini-podule and CF card, then sort out the boxes of disks cluttering up the attic.
  • Find a more suitable monitor.

Tags: ,

Acorn

About the author

I'm a software developer living and working in Cambridge.  In my spare time I tinker with old computers, old bikes and old cars.

Month List