- 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
I call bullshit on everyone who called bullshit on this one.
Nowhere in the article does it say there was any code lost. The part that was omitted from the story is
"The expressions on your faces are priceless" the third developer said rolling on the floor laughing.
Admin
I call bullshit on you for calling bullshit on everyone who called bullshit on this one.
Admin
I'd argue that locks, and 'cvs edit' are really just shingles...
Slightly closer to enterprisey shingles of course...
Admin
I wonder how much money all the roofers had to pay to get their ads on this page.
Admin
It CAN happen, if not using the command line but if clueless users work with certain frontends.
Example: Eclipse.
We had this situation at university: students were working on a common project with CVS (and Eclipse's integration of it). But they often lost commits of other users... how did it happen? They right clicked the project root, chose "Team" and "Synchronize". In that view, the left side shows the local source and the right side shows the repository's source, and you have to synchronize the files manually. Of course, they just copied everything from the left to the right... deleting possible changes that were done since their last "update".
The RIGHT way to do it would have been Team/Update, then Team/Commit...
Admin
Two points:
Admin
Admin
Admin
Anyone else noticed that Mark was following XP methods?
I've never seen clearer examples of DTSTTCPW (do the simplest thing that could possibly work) and YAGNI (you ain't gonna need it).
The shingle could have worked. And Mark didn't need anything else ... until he did.
Admin
I work in a coding department where we use subversion for all our projects. But for our collective departmental timesheet - a single excel spreadsheet - we use the shingle protocol. It sounds better if you refer to it as Physical-Token Pessimistic-Locking Version Control.
Admin
FUD and bullsh*t. CVS won't allow you to commit if there are some changes on the server: you have to run update, and have up-to-date sources before you can commit.
(I think it is great annoyance of centralized version control models, solved only with either good branching and merging, or distributed version control system)
Admin
Admin
Admin
shingle? wood? well: http://en.wikipedia.org/wiki/Shingle_dancing -> dancing on a wooden platform
i know this makes no sense
Admin
Your second statement might be true...without knowing the cost implications of using the shingle (e.g. time wasted waiting for 'your turn') we'll never know.
Admin
No it isn't.
No it wasn't.
A bad workman blames his tools.
Admin
Nah, a photograph of the shingle on the shingle on a wooden table.
Admin
Perhaps, instead of an update, he did a "Get Latest From HEAD", thinking that was an "update"?
Admin
While I've never lost code, once it was checked into CVS, several times I've had to go back to previous versions and re-merge them into latest version because the automatic merge got it wrong.
I have lost code through doing a update. As near as I can tell, the merge tool decided that my changes were not new changes and since it could not find them in the server version, they must have been deleted from there, so it removed my changes.
So, perhaps the problem is more the merge tools?
Admin
I feel his pain about CVS. It's worse than VSS - obscure commands, opaque UI (WinCVS is appalling), no way of viewing the repository, and merge can throw away uncommitted changes (3 times in a row on one particularly memorable occasion).
If it's a choice between the shingle and CVS, I'd definitely be wavering :-)
Admin
Also, good workmen blame their tools, only they know what they're talking about when they do.
Admin
Heh... noting that some were trivial was an afterthought. The article is very different from what I submitted. For starters, I wasn't the 2nd developer, I came along later. Also, we never ended up using VSS, they just wanted to, but were turned off by someone's bad experiences with it. Alex basically rewrote the whole thing.
Admin
Oops, sorry, COBOL.
Still, it's pretty damn close to a shingle, isn't it? And awfully common in 2008, too.
Admin
I wasn't using HTTP at all -- the moron consultant was. I was copying a tgz file through the firewall and updating/committing the whole thing from there. Not ideal, but it worked and was secure.
My point, which I suspect may have escaped you in your evangelical fervour, was that the "rearrangement" of the repository (which wouldn't even have been there if I hadn't insisted on it in the first place) took place behind everybody's back. Consequently, I was checking around a couple of hundred lines worth of changes into around ten files (you know how web frameworks are) a day, and so was the other programmer -- but to entirely distinct and unconnected repositories.
The key thing here is that we were committing to two separate repositories. That was so much fun, and so helpful to the business.
Fuck security -- that's secondary. (My code is more beautiful than Uma Thurmann, but I rather doubt it's as economically important.) Get the damn process right, and don't let assholes from outside screw it around.
Also, if there's anybody out there still using GUIs for SCC, just don't.
Source control is far too important to leave to some nitwit third-party supplier, be it the Apache cretinis or any other form of cloaked lunacy.
Just don't.
Admin
(It still got me googling, though. I suspect that a combination of Google and innate arrogance may yet erode my productivity to nil.)
It's also the first time that I've opened Notepad up in the last two years.
Damn you, FredSaw!
Admin
You're asking for the moon if you expect the dim bulbs here who dribble with a pavlovian reaction to admit that, well, there might occasionally be issues with <insert source control system of choice here. Please don't make it VSS or CVS/>
Nice tale, though.
Admin
You registered for this?
I can provide some quite naughty experiences, provided by fully qualified and quasi-legal eastern european ladies.
No need to worry about "soft" ware at all!
On the other hand, you could just submit something yourself, you buffoon.
Admin
I worked at a company where a developer who was a little unfamilar with CVS did an update/commit operation that removed a bunch of previous changes.
Basically, what the unnamed developer did was:
a) cvs update b) copy the files he'd been working on from somewhere else into his cvs tree, overwriting his local copies of the newly updated files c) cvs commit
There was a bit of a "oh shit" moment until we realized what had happened.
Admin
Still, they later realized that all they had to do is revert the changes of developer number two and then all sat down and laughed at it, as in a cartoon.
I agree that dev.no.2 most likely did this:
Admin
"cvs update && cvs commit" DOES NOT LOSE DATA.
The story described in the article is false.
Admin
cvs update, then cvs commit, without checking if there were conflicts? That can commit <<<<<<<<<<< markers into the repository... sure, these can be fixed, but would be a great annoyance. svn handles this better - it refuses to commit files with unresolved merge conflicts.
Admin
CVS also refuses to commit files with unresolved merge conflicts.
Admin
absolutely. "What happened to my code (in my working directory that was here a minute ago but now seems to be gone (from my working directory))?" is a different question than "What happened to my code (cause i can't find it in the revision history of the CVS server)?". Damn some of you people are overly-critical. If the last cvs command I said I ran was "cvs update", what would make you people think I know for a fact what code is or is no longer in some earlier revision? Does the "cvs update" command do that in your version? sigh
So if just the dude's working version directory was clobbered, most likely by a CVS newb's poor conflict resolution (delete/add is much easier than hand merging!), that doesn't mean the old code's not still on the CVS server. It's still annoying to see your code clobbered unexpectedly and for the first time, and not know where to go to get it back. i've worked a little with CVS, SVN, and even Clear Case; there's ALWAYS a way to clobber code on accident. In fact, i've seen it done on purpose (IMHO) to make someone else have to do painful merging/conflict resolution for you.
even if that's not the case, it's possible to mis-use CVS/SVN in any number of ways that could lead to some loss. the magic that makes versioning work is in the process and the communication, not the tool.
peace.
Admin
I've been working with CVS for around 8 years, and I have never once seen anything happen even remotely like that described in the article. I suspect it may be possible to force it to happen, if you mess with file timestamps and edit the files in the local CVS directories, but by accident? Bullshit, utter bullshit.
Admin
Shenanigans!
The CVS server should have rejected the second developer's commit if it came from an outdated local version. You can't revert someone's committed code that way.
That's the point of source control, see.
Admin
sarsacm perhaps? after all, they've been using a physical shingle to determine file access/modification thus far, the concept of a serial number or whatever might have not been within their grasp... they only "develop" software
captcha: "causa" yeah... caus' a lotta problems!
Admin
Yep, "Lock out / tag out" procedure, been around for a century or so and still a critical safety procedure in, well, pretty well every bricks and mortar industry in the world. The only real change is scope -- started with railways, expanded to repair of industrial electrics, now applied to pretty well any abnormal operating mode of pretty well any potentially dangerous machine.
Some people have tried moving to electronic versions, but the state of modern IT is so sucky that it just isn't safe; everyone is sticking to physical tokens for the time being.
Admin
I'm not sure why but this website is loading very slow for me. Is anyone else having this issue or is it a problem on my end? I'll check bback later and seee iif the problem still exists. https://evolution.org.ua/