This post originated from an RSS feed registered with Java Buzz
by Brian McCallister.
Original Post: cvs udpate -dP
Feed Title: Waste of Time
Feed URL: http://kasparov.skife.org/blog/index.rss
Feed Description: A simple waste of time and weblog experiment
I have done a brief survey of the developers I work with and discovered that what I had attributed to (mild) undiagnosed dyslexia in myself is really a very common typo. Apparently lots of people use cvs udpate quite frequently. So, in honor of the cvs udpaters out there:
#!/usr/bin/env ruby
#
# =Usage
# Replace value of REAL_CVS with the full path to the real cvs executable
# and then rename this file to 'cvs' and place it in a directory in your
# PATH which will be searched before the one containing the real cvs binary
#
# You can modify the speling hash to correct things for you =)
#
REAL_CVS='/usr/bin/cvs'
speling =
{
'udpate' => 'update'
}
line = "#{REAL_CVS} #{ARGV.join(' ')}"
speling.each { |key, value| line.gsub!(Regexp.compile(key), value)}
Kernel.exec(line)
A better implementation would parse out cvs options correctly to make sure that it didn't "fix" any filenames in the command line.