Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Code Co-op
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Peer-to-peer revision control system}} {{Infobox software | name = Code Co-op | logo = Code Co-op.png | screenshot = | caption = | author = | developer = Reliable Software | released = {{Start date and age|1996}} | latest release version = 5.2a | latest release date = {{Start date and age|2011|06|04}} | latest preview version = | latest preview date = | operating system = [[Microsoft Windows|Windows]] | platform = | language = [[English language|English]] | genre = [[Revision control]] | license = MIT | discontinued = yes }} '''Code Co-op''' is the [[peer-to-peer]] [[revision control]] system made by Reliable Software. ==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 database]]s, which can be queried using simplified [[SQL]] directly from wiki pages. ==Standard features== #Distributed development support through [[E-mail]], [[local area network|LAN]], or [[VPN]] #Change-based model—modifications to multiple files are checked in as one [[database transaction|transaction]] #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 #File changes can be reviewed before a check-in using a built-in or user-defined differ #Synchronization changes can be reviewed in the same manner by the recipients #Three-way visual merge #Project history is replicated on each machine. Historical version can be reviewed, compared, or restored #Integration with Microsoft SCC clients, including [[Visual Studio]] ==History== Code Co-op was one of the first distributed version control systems. It debuted at the 7th Workshop on System Configuration Management in May 1997.<ref name="Milewski1997">{{Cite conference| last1 = Milewski | first1 = B.| title = Distributed source control system| doi = 10.1007/3-540-63014-7_8| work = Software Configuration Management| conference = [[International Conference on Software Engineering|ICSE]]'97 SCM-7 Workshop| series = [[Lecture Notes in Computer Science|LNCS]]| volume = 1235| pages = 98–10| year = 1997| issn = 0302-9743| isbn = 978-3-540-63014-2}}</ref> 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 infeasible. 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. In 2018, the C++ source code for Code Co-op was released under the [[MIT License]]. ==Theoretical foundations== Code Co-op is an example of a [[distributed database]]. Local repositories are considered the [[replication (computer science)|replicas]] of this virtual database. Each check-in corresponds to a distributed commit—a non-blocking version of a [[two-phase commit]]. ==References== {{Reflist}} ==External links== *{{official website}} {{Version control software}} [[Category:Distributed version control systems]] [[Category:Formerly proprietary software]] [[Category:Free software programmed in C++]] [[Category:Free version control software]] [[Category:Software using the MIT license]] [[Category:Version control systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite conference
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Version control software
(
edit
)