Thursday, May 31, 2007

How DOS 1.0 cost me an hour of scratching my head

A couple months ago, I migrated my text rpg Carnage Blender to a new server, with Ubuntu 6.06 on the new box.

For an unknown reason, ftstrpnm on the new box wouldn't generate the pngs I used in my captchas. It was easier to just check in the images from the old machine into the my svn repository than debug this, so I did.

The downside was that my working copy on my Windows laptop stopped being able to update from the repository. It would get to "words/con.png," and error out. Google, for once, didn't turn up anything useful.

Today I got motivated. I tried all kinds of ways to get this to work. A new checkout had the same problem on Windows, but on Linux worked fine. The svn command line client for windows didn't work any better than Tortoise -- instead of "Error: Can't open file '...words\.svn\text-base\con.png.svn-base': Access is denied", it barfed con.png to stdout, and died. This was a clue, but I didn't realize that until later.

Puzzled, I tried scp-ing con.png directly. No dice. Maybe it was a problem with my ssh server or client instead of subversion. So I tarred up my Linux working copy and untarred on Windows. Still it crapped out on con.png. I gzipped just con.png and tried to scp that over. That didn't work either.

I started experimenting with the filename itself. I could scp the .gz just fine if I renamed it to c.png.gz first. But "touch con.png" on windows failed, as did "touch con.txt." Finally I googled [windows filenames con] and found the answer at the top of the results, unfortunately from before I started reading oldnewthing or it might have jogged my memory.

No comments: