Bugs Everywhere
I’m still not convinced that distributed version control is the future, mostly because I don’t believe in the future: as always, there will be many mixed together, and since my focus is getting novice developers up the learning curve, I’m going to continue to rank initial ease of use over power in the hands of professionals. That said, Bugs Everywhere looks pretty cool: it’s a distributed bug tracking system that works with Arch, Bazaar, GIT, Mercurial, and RCS. No master copy, just parallel universes that merge occasionally… Neat.
But once again it prompts me to ask: where are the computer scientists while all this is going on? None of the systems I’ve mentioned in this post was created by a grad student as a research project, and I’m willing to bet that most profs in CS departments don’t even know they exist. *sigh*
Some of us adjunct professors do
Maybe it’s about time that adjunct expertise gets paid / valued more than tenured incompetence.
Hey Greg,
When are we getting DVCS support in DrProject? DVCS can be really neat.
I would say that synchronization and distributed transactions which are the base for these systems has been researched quite a lot in the last few decades. I would that the software engineers are a bit late on developing these systems.
Not believing in *the* one is the whole point of dvcs–everyone is a parallel future!
I’ve been using Mercurial heavily since Mozilla switched over from CVS, and I couldn’t go back to a client-server approach. If anything, tools like Mercurial make it easier to get students started because they need no server or admin saying “OK, you can do this” to get started. Pulling and pushing changes to friends’ or group members’ repos is really easy, so a group of students working on a project can all carry it around independently and synch up as need be. Branching and merging is the norm, so you’re not left wanting to kill yourself when large chunks of work need to get pulled in. Also, the fact that you can work 100% offline is incredible.
I’ll admit that it took me a while to get my head around the concept (I was a heavy CVS/SVN user previously), but once I did, the power of this, even for beginners, is huge. I think the low bar to “Here, try this out with your partners on your laptops” is a huge win for students.
Yup, I’ve heard these points before, along with replies along the lines of, “Having a definitive master copy is easier for people to understand,” and, “Making branching and merging the norm makes for more work in the long run.” What I’d really like is for someone to design and conduct an empirical study to get some data to back up either side (or both).
Hey, if you could provide access to a set of potential participants (e.g., software engineering course), I’d be happy to work with you on designing and running such a study.
I’ll chime in on DVCS with a strong “it depends”. I’ve seen teams where mercurial made things much better and teams where taking subversion away would’ve made things come to a screeching halt.
As always – it’s not a technical problem – it’s a people problem.