Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

distributed anything is usually hard for people to wrap their heads around the first time.

I don't think that's necessarily so. Have you ever tried to get an office full of people to collaboratively author a Word document? What's their instinctive behavior? They all grab copies. Then each of them hacks away on their copies. Sometimes two or three of them email their hacked copies to each other and mash them up, using cut and paste. Eventually some poor SOB has to get everyone to email over their individual versions so he can merge them. Hopefully they've all been using Track Changes (which is, in a sense, a poor man's facsimile of a single-document DVCS!); otherwise it's an even bigger clusterfuck.

That's a distributed model. Ever since the invention of photocopiers and email attachments, people have had to develop a very good understanding of how that model works, and how it fails.

It's tempting to think that the way to sort this out is to centralize it. But in my experience, centralized document-management systems are not that intuitive, which drives people to secretly work around them. ("Why can't I save my changed document on the shared drive? Oh, no, Joe checked it out and then went on eight-week vacation! I'll just stash my edited version on my local drive and distribute it via email." Or, "I created an alternate version of the doc, but I don't dare upload it to the shared drive because I might make another mistake and overwrite the official version. That always makes the admin really mad. So here it is on this USB stick.")

I think the most confusing aspects of version control are the navigation of history (just look at the wacky extreme that Apple' Time Machine designers went to in order to make it very obvious that you're looking backwards in history), and merging, particularly merge conflicts. But those aren't special features of DVCS; they're tricky no matter which VCS you use.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: