- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
[insert some funny comment, refering to the content of the article]
Admin
Not enough wall-to-wall sunshine in that comment
Admin
They should've gotten Visual SourceSafe...
Admin
Easy, open all the projects on a "real" server first. Or basically any machine you're not going to turn off or crash.
Admin
i guess the workaround for the server/client thing would be to open the first project on, i don't know, a server. but the magic cookie? that's just crazy.
Admin
How on earth someone designed this thing and thought "yeah, that's a good approach"?
Admin
Admin
Mmmmmm, magic cookie.....
Admin
Great, they invented a single-source randomly distributed peer-to-peer file server system.
Let's hope Microsoft don't pick up on this and have the first person in the office in the morning running the mail server under their copy of Outlook...
Admin
The real wtf is that electrical engineers do not have their VCS.
They also use opaque binary formats for their, what we'd call, sources. Gross!
Admin
Someone who thought Vista was a good operating system for CAD?
One of the most resource intensive applications I've heard of, I figured they would have stuck with XP...
I am a Vista lover, but I do recognize it's downfalls.
Admin
Forget source control software. They should set up an entire office somewhere in the middle of the country to handle source control. when someone wants to work on a file they initiate a request for the file, by fax of course. The checkout department will then mail them out a disc with the file on it. once the designer is done working on the file they mail it back to the checkin department who will send send it to the merge department via inter-department mail. Once this is done the file can be sent to the history department where the hardcopy will be filed away in a cabinet somewhere.
Admin
Epic!
Admin
Oh, and I have to post each of my comments three times, only the third succeeds. WTF?
counter++; if (counter % 3 != 0) return crypticErrorMessageWhichTriesToBeFunnyWhichIsAFailureOfItsOwn();
Admin
There is bad design, really bad design and then you have incompetence. Guess in which category that concurrent strategy falls...
Admin
That reminds me of myself. I love being stung by mosquitoes, but I do recognize it's downsides as well.
Admin
Samo is correct. Having figured this out previously, and skipping to the last section, I must say, this is the first article I've read where the only response I can muster is, "WTF!?"
Admin
Admin
You think this is bad? CVS works the same way: if you copy a directory from your local working repository to a different location on disk, edits to that other location show up in the main repository. I found this out the hard way when I reused a substantial portion of code in a new project, only to have the engineers on the older project cussing at me for breaking older code. The worst part? My new changes weren't committed to the new repository, either, so neither codebase worked.
Admin
I was going to post a comment, but SkaveRat turned his computer off.
Admin
You see this crap all too often, generally as a result of a software company writing a product that they have absolutely no in-house use for. If you don't use your own product you're never going to discover all the usability issues. However, in this case you would have thought that someone would have raised a red flag. It's not like it was one of those "looks good on paper" ideas - it was clearly unworkable even at the design level.
Admin
To be fair, sometimes the WTF is that people think this is material worth discussing…
Admin
Yes, been there, seen that. I can't thank god enough that I went on vacation during those three weeks when my co-workers found out about cvs directories.
Admin
Well, it's certainly an, ahem, innovative enterprisey solution. I've never yet come across a system that combines the complexity of a server-client application with the complexity of a peer-to-peer application, and yet manages to be neither. The "magic cookie" is just the icing on the cake. Now they've managed to add NTF-like insanity to an already doomed architecture.
Nothing much new there, really. As usual, some twerp in IT procurement on a six-figure salary plus bonus has bought in to worthless bit-rot software without instituting a proper technical review.
What worries me, though, is this: "[The new version had] bells and whistles they were salivating for. Aero-style interface... improved Vista compatibility... improved sub-menu item spelling... fewer registry conflicts..."
The only part of this that makes any sense whatsoever is "fewer registry conflicts," and even that's a meaningless comparative.
Personally, I reserve my saliva for something either digestible or feminine. Or, as Code Dependent would probably add, both.
Admin
In this case, your design will collapse under any serious usage volumes because you have not insured that the checkout department and the history department each have their separate own wooden tables.
-Harrow.
Admin
Admin
Well, not as bad as having it the other way round, I guess. One of the older versions of CVS I've seen deleted every local file on checkout if some file in repository was set to read-only (I do not know if it still does in the current version, as it is long ago ...). The real WTF was not CVS, but a project member not reading the CVS manual, manually copying his file read only into the repository. Luckily, this was at times when we did a university project with students, which i maintained as tutor (yep, the student didn't pass :-) ).
Admin
This seems like its own WTF -- "know your tools". Either do a cvs export to get a clean copy of the source without the CVS metafiles, or clean the CVS metafiles out of the source code after you copy it. I'd call the cussing justified.
Admin
Agreed. Know your tools. This company found out all about their tools and the absolutely attrocious design. Hell, you could do something better by using a work-around in a document management software hack.
Admin
Oh, do they make a Linux version of the product?
Admin
Admin
TRWTF is how they are able to access the production "server" through a demo room.
Admin
Changes do not happen under CVS unless you invoke 'commit'. And you aren't going to change the working respository from a different directory unless you have confused 'cp' with 'ln'. My guess is you copied, but goofed and made the edits and commits while PWD=old_project_directory. You would not have been the first programmer to make this error, nor the first to not be able to admit error.
Admin
Rule # 1 - you can't win Rule # 2 - if you think you're winning, see rule #1 Corollary to rule #1 - unintended consequences will bite you in the a$$ ever time.
Admin
and on that cd, a Magic Cookie that bypasses all the departments and directly modifies the source.
Admin
On further thought, the problem was that you copied the CVS directories along with source code. The CVS/Repository file has a link to the project. You ended up with a second local repository pointing to the old project after the 'cp -r' command, not a local repository pointing to the new project.
There is a WTF here about insufficient training on CVS. Even though it's pretty simple to use, it isn't so simple you can be totally ignorant about how it works.
Admin
Admin
Admin
Yeah, like I once bought a car where it turned out that when you turn on the radio, the car automatically turns left. After the accident I complained to the dealer, but he just said, "Hey, you should know your car."
Moral: If your software behaves in non-intuitive and destructive ways, blame the user.
Admin
funny, but with the magic cookie all you have to do is mail them the project file. merge is done... well.. auto-magically. and history - who the hell needs it?
Admin
Admin
Actually, after incompetence, you have malice. Just sayin'.
Admin
Just possibly, you're making this up in the hope of winning a competition for Least Stupid Sophomoric Argument 2009.
On the other hand, anybody who recursively copies a bag'o'bytes from one place to another without considering the consequences deserves to get burned, because they just don't have a clue how computers work. I'm not defending CVS in general, by any means, but surely you should be aware of the fact that it comes complete with its own meta-data? (A questionable decision, to be sure; although the alternative is to hide the meta-data elsewhere, in which case you copy the files but you can't check the result in. Feel any better about that?)
Bottom line is, 99% of humanity buys a car. One hundred years or more have gone in to making cars as idiot-proof as possible. It's still an ongoing process.
Maybe 1% of humanity uses a source-control system. Thirty years or so have gone in to making source-control systems useful. And we still have VSS.
There's a qualitative difference here, and if you can't see it, you shouldn't be allowed near anything beyond the level of a pony and trap.
Admin
That's an absurd analogy. A closer one would be that you hit the gas and rammed into a wall, failing to hit the brake pedal.
When using a source control system like cvs or svn, there's obviously some magic that ties it back to the main repository. Knowing the tools of source code control should be required in CS courses.
Admin
This CVS failure is confusing me - not helped by people using confusing words for bits of it.
Repository = the main lump of CVS with all the ,v files on the server. There's one of these between everybody in a simple case.
Sandbox = local checked out files where you work, with the CVS/Entries, Repository and Root files in it.
There shouldn't be a "local repository".
But yeah, copying the sandbox and wondering why commits there magically affect the bits they're committing to strikes me as a bit dumb...
Admin
Admin
Admin
Admin
Er... so they fixed spelling mistakes and that's a great feature? I LOVE IT! I wonder if I could sell a new version with that.
Admin
CVS is pretty simple, period. It was initially built as a bunch of shell wrappers around rcs. You could learn most of its implementation in an afternoon (assuming that 'rcsdiff' is a black box, and ignoring the network protocols that don't use NFS or similar). Unfortunately, there's a price to be paid for the implementation simplicity: a real nasty mixture of data and metadata in every single working directory.
CVS is very challenging for the new generation of developers who expect their tools to do everything for them without understanding the implementation details. Kids these days expect directories to implement a "copy" method that performs a recursive deep copy of objects in a directory, without thinking about things outside the directory that might be holding references to things inside the directory and vice versa. Of course, more experienced developers understand that files are not objects (no matter how much pseudo-object-orientation you cram into the OS's file browser UI), and you treat them as such at your peril.