Code Co-op

Code Co-op
Code Co-op
Code Co-op.png
Developer(s) Reliable Software
Initial release 1996; 14 years ago (1996)
Stable release 5.2a / June 4, 2011; 5 months ago (2011-06-04)[1]
Operating system Windows
Available in English
Type Revision control
License Commercial
Website relisoft.com/co op/

Code Co-op is the peer-to-peer revision control made by Reliable Software.

Contents

Distinguishing features

Code Co-op is a distributed revision control system of the replicated type.

It uses peer-to-peer architecture to share projects among developers and to control changes to files. Instead of using a centralized database (the repository), it replicates its own database on each computer involved in the project.

The replicas are synchronized by the exchange of (differential) scripts. The exchange of scripts may proceed using different transports, including e-mail (support for SMTP and POP3, integration with MAPI clients, Gmail) and LAN.

Code Co-op has a built-in peer-to-peer wiki system, which can be used to integrate documentation with a software project. It is also possible to create text-based Wiki databases, which can be queried using simplified SQL directly from wiki pages.

Standard features

  1. Distributed development support through E-mail, LAN, or VPN
  2. Change-based model—modifications to multiple files are checked in as one transaction
  3. File additions, deletions, renames, and moves are treated on the same level as edits—they can be added in any combination to a check-in changeset
  4. File changes can be reviewed before a check-in using a built-in or user-defined differ
  5. Synchronization changes can be reviewed in the same manner by the recipients
  6. Three-way visual merge
  7. Project history is replicated on each machine. Historical version can be reviewed, compared, or restored
  8. Integration with Microsoft SCC clients, including Visual Studio

History

Code Co-op was the first[citation needed] distributed version control system. It debuted at the 7th Workshop on System Configuration Management in May 1997 [1].

The development of Code Co-op started in 1996, when Reliable Software, the distributed software company that makes it, was established. Reliable Software needed a collaboration tool that would work between the United States and Poland. The only dependable and affordable means of communication between the two countries was e-mail, hence the idea of using e-mail for the exchange of diffs. Of course, with such slow transport, using a centralized repository was unfeasible. Each user of Code Co-op had to have a full replica of the repository, including the history of changes.

The problem was reduced to that of designing a distributed database that uses slow and unreliable transport for synchronization (later, faster LAN transport was also added). It also followed that the synchronization between multiple sites must use some kind of peer-to-peer protocol.

Challenges

The biggest challenge for a distributed system is the merge problem—How to create a single "official" version of the project from contributions made by many independent developers?

In a centralized version control system, it's the server that keeps the official copy of the project—the central repository. All changes are made against the trunk version stored in that repository. Conflicts are avoided by providing a centralized locking mechanism. The server is locked during each individual check-in operation.

In a distributed system, each project member works on his or her private copy of the project, and check-ins are made into a local repository. In open distributed systems each user works on their respective branch, which has to be manually merged into the trunk at some point. A closed system, like Code Co-op, creates instead the illusion of a single trunk against which all check-ins are done. This alleviates the need for frequent merges.

Theoretical foundations

Code Co-op is an example of a distributed database. Local repositories are considered the replicas of this virtual database. Each check-in corresponds to a distributed commit—a non-blocking version of a two-phase commit.

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • code — code …   Dictionnaire des rimes

  • codé — codé …   Dictionnaire des rimes

  • code — [ kɔd ] n. m. • 1220; lat. jurid. codex « planchette, recueil » 1 ♦ Recueil de lois. Le code de Justinien, et absolt le Code. Ensemble des lois et dispositions légales relatives à une matière spéciale. Livre, article d un code. Le C ODE CIVIL ou… …   Encyclopédie Universelle

  • code — [kəʊd ǁ koʊd] noun 1. [countable] LAW a complete set of written rules or laws: • Each state in the US has a different criminal and civil code. ˈbuilding code [countable] LAW a set of rules that states what features a new building, bridge etc… …   Financial and business terms

  • Code — redirects here. CODE may also refer to Cultural Olympiad Digital Edition. Decoded redirects here. For the television show, see Brad Meltzer s Decoded. For code (computer programming), see source code. For other uses, see Code (disambiguation).… …   Wikipedia

  • code — n [Old French, from Medieval Latin codex, from Latin caudex codex tree trunk, set of wood writing tablets, book] 1: a systematic compilation or revision of law or legal principles that is arranged esp. by subject: as a: one that contains the law… …   Law dictionary

  • Codé — Code Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Code-2 — (Computador Didáctico Elemental, versión 2), y su predecesor ODE son dos procesadores ideados por los profesores Alberto Prieto y Antonio Lloris, de la Universidad de Granada, para facilitar la compresión del funcionamiento y el diseño hardware… …   Wikipedia Español

  • Code QR — Pour les articles homonymes, voir QR. Un exemple de code QR Le code QR ou QR Code (en anglais) est un code barres en 2 dimensions (code matrice) pouvant stocker jusqu à 7089 c …   Wikipédia en Français

  • Code 46 — film poster Directed by Michael Winterbottom Produced by …   Wikipedia

  • code — code; code·less; en·code·ment; iden·ta·code; man·u·code; re·code; sar·code; mi·cro·code; post·code; zip·code; de·code; en·code; os·tra·code; …   English syllables

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”