If you work on multiple REALbasic projects like I do, using SubVersion or CVS is must. This makes life a lot easier when dealing with multiple projects and you’re making revisions all the time. The Version Control Project (VCP) format for REALbasic is the only real way to do this.
The binary format is a single file and simply opening a new tab and saving the file causes the file to change. Plus there’s no way to diff your binary file. The XML format isn’t guaranteed to be in the same order all the time so it has some problems as well with SVN or CVS. So the defacto standard for any type of version control is VCP.
It has some drawbacks and depending upon how you set up your projects you can have some problems. When you load a VCP project and it can’t find a file it throws up an Open Dialog asking for the missing file. This is fine but it has one big, huge, disastrous, inherent flaw – if you click cancel you get the stupidest error message of all time:
Unable To Open File. File system error: 0
WTF?! What’s a file system error 0? And what file was it unable to open? Very, very bad. A bad error message with absolutely no way to know WHAT file it was unable to open.
What’s perhaps even worse is that afterwards the IDE opens and your project appears to be have loaded. Until you try to compile that is. You’ll quickly find out that all objects that were supposed to load AFTER the missing file were NOT loaded. Heaven forbid if you actually work on code and save it. You might have just screwed yourself over.
Okay, so we know it happens if you click cancel. Simple solution: Just don’t do that! Well… not quite. The Unable to Open File error can happen with corrupted external items. I recently copied encrypted objects from one project to another and then saved the binary project as VCP. No errors, but when I tried to open the VCP project it blew up with this error. I finally had to open the project file in a flippin’ text editor to determine what files were corrupt and even that was just a guess.
I propose two changes:
One, the IDE error message should tell you what file it couldn’t open. Bare minimum. Bokay?
Two, the IDE should close the project if it doesn’t open the entire project. Alternatively it should at least give a warning that the project opened with errors.
I used to complain that VB6 threw up too many error messages when it opened a project that was missing (or moved) a library. It was common to simply hold the return key down so you’d get through the 50 error dialogs in a timely manner. RB has streamlined the process into a single, non-sensical error message. That’s progress I guess.
Anyway, I digress. There are other issues with VCP that I won’t get into. What are your thoughts?