views:

158

answers:

6

First there was a centralized model of version control (cvs, svn) and recently a distributed version control model was created (git, bzr, hg). Are there any other types of version control ideologies out there? Or what will be the next new one?

+1  A: 

My guess, based entirely on nothing and more of a wishful thinking, is the next steps would be cloud version control and P2P based version control systems.

The cloud's main features are high availability and geo spread.

P2P - well, also high availability, security, saved bandwidth.

We're yet to wrap our heads around what the next generation of source control would be but brainstorming doesn't hurt. I welcome any input.

Artem Russakovskii
git is essentially p2p. Github (etc.) are just well-known public peers. Are you envisioning something else?
Sarah Mei
Storing the versions in the cloud isn't really a new way of versioning, merely a new place to store it, unless I am missing your point.
amischiefr
I'm guessing he was thinking about something like GitTorrent.
Jörg W Mittag
A: 

Versioning file systems possibly? ;o) Just kidding, it wouldn't have anywhere near the amount of functionality that would be needed to be useful. But may be helpful in some ways.

Jon
ZFS already has features kind of like that: http://en.wikipedia.org/wiki/ZFS
Artem Russakovskii
Yes, that's what I was thinking of. I doubt it has branch/tag/merge functionality ;o)
Jon
+1  A: 

A version management system is merely a service and went from client-server to p2p. I don't know many more network topologies than that.

soulmerge
How about token-ring version managment? "I'd like to edit that file, but Billy has the token. It probably won't come back around to me until next Tuesday." :-)
T.E.D.
+5  A: 

We will be using google wave to edit source collaboratively in real-time.

dpc.ucore.info
+1, that may have been the most interesting use of Google Wave I've heard so far
Mark Roddy
+1, but I think this idea encompasses more than just Google Wave. There are a lot of "source wiki" ideas coming down the pipe.
Sarah Mei
@SarahMei Seriously? I actually had a friend suggest something like this and I laughed about it
Mark Roddy
With Google Wave, is there a way to specify that you are done editing a file? It would be impossible to compile a project if there are 3 changes being actively made to it, but there should be a workaround for that of some kind.
Jon
+4  A: 

That's really impossible to say, until someone does it.

Back in the 80's we didn't call our version control systems "centralized", and pine for the days when someone would come up with distributed ones. That's a name people put on them after distributed ones were invented. It is only in retrospect that it looks like an obvious step.

T.E.D.
this is true of most major paradigm shifts
rmeador
centralized (well, client-server) version control systems (like CVS) were next step to local-only version control systems (like e.g. RCS). Merge based VCS were next step to locking based VCS.
Jakub Narębski
@Jakub: Your comment actually addresses half of the question that I ignored. I'd suggest you make an answer out of it.
T.E.D.
+2  A: 

I'd imagine that the next step is more finely tuned diff/merge mechanisms. Have you ever tried to merge an XML document that someone has reformatted? it's impossible because it's being diffed as simple text.

Joel Martinez
You're totally right: http://codicesoftware.blogspot.com/2010/07/xmerge-to-merge-refactored-code.html
pablo
wow @pablo, that's awesome!
Joel Martinez
pablo