I had the most realistic dream last night that I can remember having in ages.
It was on a geeky topic, which partially explains this. I dreamed that I'd experimentally started using Subversion for one of my source code repositories, to see whether it was any good yet. (So far, more than realistic – I fully intend to do this for real some time in the next week or two.)
Unfortunately, I had terrible trouble remembering to prefix my version control commands with ‘svn’ rather than ‘cvs’. (Seems plausible enough to me; that's a very long-standing finger habit.)
So what I did was this. I defined an alias called ‘cvs’ which printed something along the lines of ‘Oi, no, not that one!’ and did nothing else; and then I defined an alias called ‘svn’ which checked for the presence of a CVS subdirectory and ran the real ‘cvs’ if present, but otherwise called the real ‘svn’. That way, I trained myself rapidly into the new finger habit, ready for the moment when I switched over all my other repositories too.
That's so close to something I might have done in reality. In fact I might seriously consider doing just that when I get to the point where a reasonable number of my repositories are already Subversion!
Whilst some of this info does get put into the CVS/Root file, things like a specific command name required for me to ssh into work (i.e. setting CVS_RSH) don't work.
The script originally came from WorldCom where every project had its own CVS repository thanks to the use of SourceForge and access was done via ssh