There are a lot of version control systems on the market. What Code Co-op brings
to the table is a peer-to-peer architecture. Rather than store all your code in
a central repository from which individual developers get copies, Code Co-op stores
the code on each workstation. These workstations communicate, using e-mail, direct
LAN connection, or both, when it comes time to synchronize copies. So, in Code Co-op,
your own copy of the code is the repository - and so is everyone else's.
Within this framework, you'll find the usual basic source code control operations:
check out and check in (Code Co-op doesn't support the edit/merge/continue style
of operation, though check outs aren't locking), branching and merging, viewing
history, diffing changes, and so on. You also get integration with anything that
uses the Microsoft SCC API (obviously including Visual Studio), as well as the ability
to use the well-regarded Beyond Compare as your diff and merge engine instead of
the built-in tools.
There are some interesting side effects from the peer-to-peer strategy as well.
For one, assuming that your team is well-connected, this means that everyone's copy
of the code tends to be up-to-date; assuming people have the sense to check in frequently,
all changes are propagated everywhere as soon as they're made. It's like having
continuous integration across the whole team. (This of course is not so good if
people check in poorly-tested code, but that should be a self-correcting problem
if you have the discipline to train or eliminate bad developers). For another, in
this version they've started leveraging the peer-to-peer engine by building their
own wiki engine on top of it. You can add a wiki to any Code Co-op folder, and use
it to share notes or other information about the project with everyone involved.
The wiki even has its own (super simplified) version of SQL, so you can use it to
construct things like their included bug database. Thus, distributed bug-tracking
can become part of your source code control.
Overall, Code Co-op is an interesting alternative in a crowded field. I suspect
there's some upper limit in number of developers where this architecture will become
impractical, but most projects won't get there. You can download a 31-day trial
or see demos on their Web site.