Anyone who pays far too much attention to my blog will remember that a few months ago I complained that my IDE of choice, IntelliJ IDEA, wasn't playing nice with CVS. I was pretty sure I had everything set up correctly (and everything worked from the command-line), but all IDEA gave me whenever I tried to do anything was a "Valid request expected" error.
So for the last month I've been stubbornly getting by through the simple recourse of pasting the failing commands from IDEA's CVS output window into a shell prompt. Ugly, but it worked.
Today, I decided to upgrade to IDEA 4.5. I was determined to get this problem fixed at the same time, because I'm told the new merge tool in 4.5 is way cool. To cut a long story short, here's what the problem turned out to be:
My username on the CVS server is the same as my local username, so when I checked out the code (using the command-line), I set CVSROOT to :ext:cvs.example.com:/var/cvsroot. From the shell prompt, CVS is smart enough to infer my username when it logs in. From IDEA, it seems, it isn't.
So the fix was: find . -name Root | xargs perl -pi -e 's/:ext:/:ext:cmiller@/'
Et voila.
Another random note: IDEA on OS X appears to be an order of magnitude faster if you use the regular IDEA look and feel instead of the native-looking Aqua UI. Sad but true.
perl -pi -e '/s
makes me hungry
MMMMMmmmmmm perl pie. Made with real oyster.