A blog about SQL Server, SSIS, C# and whatever else I happen to be dealing with in my professional life.

Find ramblings

Tuesday, January 5, 2010

CVS hell: I accidentally the binary mode

I am old.  I grew up with a command line and I'm comfortable there.  Command line args to programs are not foreign to me.  Today however I was desperate for a  pretty GUI tool to fix a problem with CVS.  CVS is our version control system here at work.  It works, we have change history and can tag our releases.  All is well and good.  

A contractor created a stored procedure in Unicode format and committed it.  CVS happily accepted it, as binary.  CVS doesn't handle binary diffs nor does it expand macros which of course makes sense for binary data.  The trouble I ran into was how the hell do I get it back to Text/ASCII mode.  It was a simple matter of resaving the file under ANSI/Windows 1252 code page.  With a text file in hand, the logical answer would be "cvs -kt MyFile.sql"
Logic does not factor into this!  "cvs update: invalid RCS keyword expansion mode"  

I thought perhaps my client version was causing issues "Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2382 (client/server)" so I upgraded to the latest and greatest "Concurrent Versions System (CVSNT) 2.5.04 (Zen) Build 3510 () (client/server)" but that didn't resolve the issue.  It looks like our server version is mostly up to date "Concurrent Versions System (CVS) 1.12.12 (client/server)"  It's a point release behind and I see nothing in the patch notes to indicate there was a problem or fix relative to binaries.

After much futzing around via blogs, newsgroups and general google searches, I went with the old school solution "nuke it from orbit!  It's the only way to be sure"  Which amounted to ssh to our cvs server, remove the MyFile.sql,v and re-add it.  I'm all ears if someone finds a solution but for me, I'm done worrying about it.


No comments: