Comparison of version-control software
The following tables describe attributes of notable version control and software configuration management systems that can be used to compare and contrast the various systems.
For SCM software not suitable for source code, see Comparison of open-source configuration management software.
General information
The following table contains relatively general attributes of version-control software systems, including:- Repository model, the relationship between copies of the source code repository
- *Client–server, users access a master repository via a client; typically, their local machines hold only a working copy of a project tree. Changes in one working copy must be committed to the master repository before they are propagated to other users.
- *Distributed, repositories act as peers, and users typically have a local repository with version history available, in addition to their working copies.
- Concurrency model, how changes to the working copy are managed to prevent simultaneous edits from causing nonsensical data in the repository.
- *Lock, changes are disallowed until the user requests and receives an exclusive lock on the file from the master repository.
- *Merge, users may freely edit files, but are informed of possible conflicts upon checking their changes into the repository, whereupon the version control system may merge changes on both sides, or let the user decide when conflicts arise. Distributed version control systems usually use a merge concurrency model.
Technical information
The following table shows technical details of some well-known version-control software. These are classified based on the following headers:Table explanationSoftware: The name of the application that is described.Programming language: The coding language in which the application is being developedStorage Method: Describes the form in which files are stored in the repository. A snapshot indicates that a committed file is stored in its entirety—usually compressed. A changeset, in this context, indicates that a committed file is stored in the form of a difference between either the previous version or the next.Scope of change: Describes whether changes are recorded for individual files or for entire directory trees.Revision IDs: are used internally to identify specific versions of files in the repository. Systems may use pseudorandom identifiers, content hashes of revisions, or filenames with sequential version numbers. With Integrated Difference, revisions are based on the Changesets themselves, which can describe changes to more than one file.Network protocols: lists the protocols used for synchronization of changes.Source code size: Gives the size of the source code in megabytes.
| Software | Programming language | Storage method | Scope of change | Revision IDs | Network protocols | Source code size |
| AccuRev SCM | C++, Java | Changeset | File | Number pair NN/NN | custom | |
| Azure DevOps | C++ and C# | Changeset | File and Tree | Numbers | SOAP over HTTP or HTTPS, Ssh | |
| GNU Bazaar | Python 2, Pyrex (optional), C | Snapshot | Tree | Pseudorandom | custom, custom over ssh, custom over HTTP, HTTP, SFTP, FTP, email bundles, WebDAV | 4.1 MB |
| BitKeeper | C | Changeset | Tree | Changeset keys, numbers | custom, HTTP, rsh, ssh, email | 99 MB |
| CA Software Change Manager | C, C++, Java, HTML | Changeset and Snapshot | File and Tree | Numbers | HTTP, TCP/IP | |
| IBM DevOps Code ClearCase | C, Java, Perl | Changeset | File and Tree | Numbers | custom, custom, HTTP | |
| Code Co-op | C++ | Changeset | User ID-Ordinal | e-mail, LAN | ||
| CVS | C | Changeset | File | Numbers | pserver, ssh | 10.3 MB |
| CVSNT | C++ | Changeset | File and Tree | Numbers | custom over ssh, sspi, sserver, gserver, pserver | 55 MB |
| darcs | Haskell | Changeset | Tree | n/a | custom over ssh, HTTP, email | 1.7 MB |
| Dimensions CM | C, C++, Java, C# | Snapshot or changeset | File and Tree | Numbers | Custom, HTTP/HTTPS | |
| Fossil | C | Snapshot or changeset | Tree | SHA-1 or SHA-3 hashes | HTTP/HTTPS, custom over ssh | 7.2 MB |
| Git | C, shell scripts, Perl | Snapshot | Tree | SHA-1 or SHA-256 hashes | custom, custom over ssh, HTTP/HTTPS, rsync, email, bundles | 23 MB |
| GNU arch | C, shell scripts | Changeset | Tree | Numbers | HTTP, WebDAV | |
| IC Manage | C++, C | Changeset | Numbers | custom | ||
| Mercurial | Python, C | Changeset | Tree | Numbers, SHA-1 hashes | custom over ssh, HTTP, email bundles | 20 MB |
| MKS Integrity | C, Java | Changeset | File | Numbers | custom, HTTP | |
| Monotone | C++ | Hybrid | Tree | SHA-1 hashes | custom, custom over ssh, file system | 4.4 MB |
| Perforce Helix Core | C++, C | Changeset | Tree | Numbers | custom | |
| PVCS | C++, C | Changeset | File | Numbers | ||
| Rational Team Concert | Java | Changeset | Tree | Numbers | REST services over HTTP/HTTPS | |
| Revision Control System | C | Changeset | File | Numbers | File system | 5.3 MB |
| Source Code Control System | C | Changeset | File | Numbers | NFS | 1.3 MB |
| StarTeam | C++, C, Java | Snapshot | File and Tree | MD5 hashes | custom, TCP/IP | |
| Subversion | C | Changeset and Snapshot | Tree | Numbers | custom, custom over ssh, HTTP and SSL | 41 MB |
| Surround SCM | C++ | Changeset | File and Tree | Numbers | TCP/IP | |
| Synergy | Java | Changeset, Snapshot | File | Numbers | custom, custom over ssh, HTTP | |
| Vault | C# | Changeset | File and Tree | Numbers | HTTP, HTTPS | |
| Vesta | C++ | Snapshot | Tree | NFS | 15.8 MB | |
| Visual SourceSafe | C | Snapshot | File | Numbers | SMB, DCOM | |
| Software | Programming language | Storage method | Scope of change | Revision IDs | Network protocols | Source code size |
Features
The following table classifies some well-known software on the basis of its features and capabilities:Table explanationSoftware: The name of the application that is described.Supports Git data format: able to natively work on Git's repository formatsAtomic commits: refers to a guarantee that all changes are made, or that no change at all will be made.File renames: describes whether a system allows files to be renamed while retaining their version history.Merge file renames: describes whether a system can merge changes made to a file on one branch into the same file that has been renamed on another branch. If the same file has been renamed on both branches then there is a rename conflict that the user must resolve.Symbolic links: describes whether a system allows revision control of symbolic links as with regular files. Versioning symbolic links is considered by some people a feature and some people a security breach. Symbolic links are only supported on select platforms, depending on the software.Pre-/post-event hooks: indicates the capability to trigger commands before or after an action, such as a commit, takes place.Signed revisions: refers to integrated digital signing of revisions, in a format such as OpenPGP.Merge tracking: describes whether a system remembers what changes have been merged between which branches and only merges the changes that are missing when merging one branch into another.End of line conversions: describes whether a system can adapt the end of line characters for text files such that they match the end of line style for the operating system under which it is used. The granularity of control varies. Subversion, for example, can be configured to handle EOLs differently according to the file type, whereas Perforce converts all text files according to a single, per-client setting.Tags: indicates if meaningful names can be given to specific revisions, regardless of whether these names are called tags or labels.International support: indicates if the software has support for multiple language environments and operating systemUnicode filename support: indicates if the software has support for interoperations under file systems using different character encodings.Supports large repos: Can the system handle repositories of around a gigabyte or larger effectively?
| Software | Supports Git data format | Atomic commits | File renames | Merge file renames | Symbolic links | Pre-/post-event hooks | Signed revisions | Merge tracking | End of line conversions | Tags | International support | Unicode filename support | Supports large repos |
| AccuRev SCM | |||||||||||||
| Azure DevOps | |||||||||||||
| GNU Bazaar | |||||||||||||
| BitKeeper | |||||||||||||
| CA Software Change Manager | |||||||||||||
| IBM DevOps Code ClearCase | |||||||||||||
| Code Co-op | |||||||||||||
| CVS | |||||||||||||
| CVSNT | |||||||||||||
| darcs | |||||||||||||
| Dimensions CM | |||||||||||||
| Fossil | |||||||||||||
| Git | |||||||||||||
| GNU arch | |||||||||||||
| IC Manage | |||||||||||||
| MKS Integrity | |||||||||||||
| Mercurial | |||||||||||||
| Monotone | , mandatory | ||||||||||||
| Perforce Helix Core | |||||||||||||
| Rational Team Concert | |||||||||||||
| Source Code Control System | |||||||||||||
| StarTeam | |||||||||||||
| Subversion | . | ||||||||||||
| Surround SCM | |||||||||||||
| Synergy | |||||||||||||
| Vault | |||||||||||||
| Vesta | |||||||||||||
| Visual SourceSafe | |||||||||||||
| Software | Atomic commits | File renames | Merge file renames | Symbolic links | Pre-/post-event hooks | Signed revisions | Merge tracking | End of line conversions | Tags | International support | Unicode filename support | Supports large repos |
Advanced features
The following are some more advanced features and capabilities available in notable version-control systems:Table explanationKeyword expansion: supports automatic expansion of keywords such as file revision number.Interactive commits: interactive commits allow the user to cherrypick common lines of code used to anchor files that become part of a commit, instead of having only a file-level granularity.External references: embedding of foreign repositories in the source treePartial checkout/clone: ability to check out or clone only a specified subdirectory from a repository.Permissions: tracks file permission bits in the revision history.Timestamp preservation: overwrites the last modified filesystem attribute with the commit time upon checkout.Custom automatic merge tool: automatic merging can be attempted by any tool of the user's choice Supported formats: either read/write support or read-only Shared build cache of derived objects: the ability to automatically substitute derived-objects that were built by other confederated clients that share exactly the same dependencies instead of rebuilding them locally
| Software | Keyword expansion | Interactive commits | External references | Permissions | Timestamp preservation | Custom automatic merge tool | Supported formats | ||
| AccuRev SCM | git | ||||||||
| Azure DevOps | |||||||||
| GNU Bazaar | bzr, subversion, git, hg, any that has a fastexporter | ||||||||
| BitKeeper | bitkeeper | ||||||||
| CA Software Change Manager | CA Software Change Manager | ||||||||
| IBM DevOps Code ClearCase | ClearCase | ||||||||
| CVS | cvs | ||||||||
| CVSNT | cvs | ||||||||
| darcs | darcs | ||||||||
| Dimensions CM | Migration from ClearCase, Subversion, CVS, PVCS, ChangeMan DS | ||||||||
| Fossil | fossil, any that has a fastexporter; migration from git and svn | ||||||||
| Git | git, cvs, subversion, hg, any that has a fastexporter | ||||||||
| Mercurial | hg, subversion, lossless two-way push to and pull from git, migration from any other format supported by the Convert extension: CVS, Darcs, Bazaar, Monotone, GNU Arch, and Perforce | ||||||||
| Perforce Helix Core | Perforce | ||||||||
| Rational Team Concert | |||||||||
| Source Code Control System | sccs | ||||||||
| Surround SCM | Surround | ||||||||
| Subversion | subversion | ||||||||
| Vesta | via SDL | Vesta | |||||||
| Visual SourceSafe | |||||||||
| Software | Keyword expansion | Interactive commits | External references | Permissions | Timestamp preservation | Custom automatic merge tool | Supported formats |
Basic commands
The following table provides further information about commands available in notable version-control systems.Table explanationRepository init: Create a new empty repository clone: Create an identical instance of a repository pull: Download revisions from a remote repository to a local repositorypush: Upload revisions from a local repository to a remote repositoryLocal branches: Create a local branch that does not exist in the original remote repositorycheckout: Create a local working copy from a repositoryupdate: Update the files in a working copy with the latest version from a repositorylock: Lock files in a repository from being changed by other usersadd: Mark specified files to be added to repository at next commitremove: Mark specified files to be removed at next commit move: Mark specified files to be moved to a new location at next commitcopy: Mark specified files to be copied at next commitmerge: Apply the differences between two sources to a working copy pathcommit: Record changes in the repositoryrevert: Restore working copy file from repositorygenerate bundle file: Create a file that contains a compressed set of changes to a given repositoryrebase: Forward-port local commits to the updated upstream headNote: Commands in green rectangles that are not surrounded by are at an interactive command-line prompt. Text in is an explanation of where to find equivalent functionality.
| Software | clone | pull | push | Local branches | checkout | update | lock | add | remove | move | copy | merge | commit | revert | generate bundle file | rebase | |
| AccuRev SCM | |||||||||||||||||
| Azure DevOps | using Git | clone using Git | get | commit | shelveset | checkout | get | lock | add | delete | rename | using Git | merge | commit | undo | using Git | get |
| GNU Bazaar | – | ||||||||||||||||
| BitKeeper | |||||||||||||||||
| IBM DevOps Code ClearCase | |||||||||||||||||
| CVS | |||||||||||||||||
| CVSNT | |||||||||||||||||
| darcs | |||||||||||||||||
| Fossil | Fossil's repository is single sqlite file itself | ||||||||||||||||
| Git | |||||||||||||||||
| Mercurial | |||||||||||||||||
| Monotone | |||||||||||||||||
| Perforce Helix Core | |||||||||||||||||
| Source Code Control System | |||||||||||||||||
| Subversion | |||||||||||||||||
| Surround SCM | |||||||||||||||||
| Vesta | |||||||||||||||||
| Visual SourceSafe | |||||||||||||||||
| Software | Repository init | clone | pull | push | Local branches | checkout | update | lock | add | remove | move | copy | merge | commit | revert | generate bundle file | rebase |
Advanced commands
The following table shows the commands used to execute common tasks in notable version-control systems.Table explanationCommand aliases: create custom aliases for specific commands or combination thereofLock/unlock: exclusively lock a file to prevent others from editing itShelve/unshelve: temporarily set aside part or all of the changes in the working directoryRollback: remove a patch/revision from historyCherry-picking: move only some revisions from a branch to another one Bisect: binary search of source history for a change that introduced or fixed a regressionIncoming/outgoing: query the differences between the local repository and a remote one Grep: search repository for lines matching a patternRecord: include only some changes to a file in a commit and not othersNote: Commands in green rectangles that are not surrounded by are at an interactive command-line prompt. Text in is an explanation of where to find equivalent functionality.
| Software | Command aliases | Lock/unlock | Shelve/unshelve | Rollback | Cherry-picking | Bisect | Incoming/outgoing | Grep | Record |
| AccuRev SCM | enable file locking | ||||||||
| Azure DevOps | |||||||||
| GNU Bazaar | missing / | ||||||||
| BitKeeper | |||||||||
| CVSNT | |||||||||
| Darcs | |||||||||
| Fossil | |||||||||
| Git | |||||||||
| Mercurial | or | ||||||||
| Monotone | |||||||||
| Perforce Helix Core | |||||||||
| Subversion | Third party tool | ||||||||
| Surround SCM | |||||||||
| Software | Command aliases | Lock/unlock | Shelve/unshelve | Rollback | Cherry-picking | Bisect | Incoming/outgoing | Grep | Record |
User interfaces
The following table gives Web, GUI and IDE Interface specifications for notable version-control systems.Table explanationSoftware: The name of the application that is described.Web Interface: Describes whether the software application contains a web interface. A web interface could allow the software to post diagnostics data to a website, or could even allow remote control of the software application.GUIs: A GUI is a graphical user interface. If a software product features a GUI its functionality can be accessed through application windows as opposed to accessing functionality based upon typing commands at the command prompt such as a DOS interface.Plug-ins: functions are available through an integrated development environment. Minimum function should be to list the revision state of a file and check in/check out files.
| Software | Web interfaces | Stand-alone GUIs | Integration and/or Plug-ins for IDEs |
| AccuRev SCM | Yes | Windows (incl. Explorer integration), Linux, Unix, macOS, BeOS available | IntelliJ IDEA, Eclipse, Visual Studio |
| Azure DevOps | included | Windows included; macOS, Unix available | Visual Studio. Java client for Eclipse IDE and IntelliJ IDEA |
| GNU Bazaar | can use a plain webserver | Olive, bzr-gtk, Bazaar Explorer, QBzr, TortoiseBzr | Eclipse, Visual Studio, TextMate, Komodo IDE, Wing IDE |
| BitKeeper | included | included | |
| CA Software Change Manager | included | Eclipse-based GUI | Eclipse, MS Visual Studio |
| IBM DevOps Code ClearCase | included, Clearcase Web Interface | older: MS Windows native, Motif-based GUI for Unix-like systems, TSO client for z/OS. | Emacs, Eclipse, Visual Studio, KDevelop, IntelliJ IDEA |
| Code Co-op | Not necessary since entire project is replicated locally | Windows | |
| CVS | cvsweb, ViewVC, others | TortoiseCVS, TkCVS, WinCVS, macOS, GTK, Qt available | Eclipse, KDevelop, IntelliJ IDEA, Emacs, Komodo IDE, BBEdit, Wing IDE |
| CVSNT | cvsweb, ViewVC, others | Windows, macOS, OS/400, GTK, Qt available | All those that support CVS, plus commercial plugins for SCCI, Bugzilla, Build |
| darcs | darcs.cgi included; darcsweb, Trac | under development; TortoiseDarcs, macOS, | Eclipse, Emacs |
| Dimensions CM | Windows (incl. explorer integration) | Eclipse, Visual Studio, IntelliJ IDEA, XCode, Powerbuilder | |
| Fossil | Embedded webserver included, ability to run multiple repositories via CGI mode | fuel-scm | |
| Git | Gitweb, wit, cgit, GitLab, GitHub, gitorious, Trac, Kallithea, Bitbucket, Stash, Springloops, Bonobo Git Server, Gitea, Gogs | gitk, git-gui, tig, Gitbox, TortoiseGit, qgit, gitg, gct, git-cola, Git Extensions, GitEye, SmartGit/Hg, Tower, SourceTree, Sprout, GitX, GitUp, GitKraken, Sublime Merge | Aptana 3 Beta ; Atom; Eclipse ; Helix TeamHub; Netbeans ; KDevelop; Visual Studio ; Emacs ; SAP Web IDE; TextMate ; Vim ; IntelliJ IDEA >8.1 ; Komodo IDE; Anjuta; XCode, Wing IDE; PyCharm |
| GNU arch | ArchZoom | ArchWay, TlaLog | Emacs |
| IC Manage | included | Windows, Linux, Unix, macOS | Emacs, Cadence Design Framework, Synopsys Custom Designer |
| MKS Integrity | Yes | Windows, Linux, Unix, Solaris, AIX, | Eclipse, Microsoft Visual Studio, Perforce and others. Also provides support for the industry standard Source Code Control interface |
| Mercurial | included, Trac, Kallithea | Hgk, gct, TortoiseHg, MacHg, MacMercurial, Murky, SourceTree, TortoiseHg, SmartGit/Hg | IntelliJ IDEA, Eclipse, NetBeans, Visual Studio 2008, Emacs, Vim, Komodo IDE, Eric Python IDE, Wing IDE |
| Monotone | ViewMTN, TracMonotone, | Monotone-Viz, Guitone, Monotone Browser | |
| Perforce Helix Core | included, P4Web, P4FTP | Windows, Linux, Mac macOS | Eclipse, Visual Studio, Matlab; Game Engines: Unity, Unreal, Amazon Lumberyard; Graphics: Autodesk Maya, 3ds max, Adobe PS |
| Rational Team Concert | Yes | Eclipse-based GUI | Eclipse integration; MS Visual Studio integration |
| StarTeam | included | Windows, Java, Eclipse, Visual Studio, BDS2006 integration, plus Java command-line | IntelliJ IDEA, Visual Studio, JBuilder, Eclipse |
| Subversion | Apache 2 module included, WebSVN, ViewSVN, ViewVC, Trac, SharpForge, sventon, Springloops | Java, KDESVN, macOS, Nautilus, Qt, RabbitVCS, RapidSVN, SourceTree, TortoiseSVN | Anjuta, BBEdit, Eclipse, Emacs, IntelliJ IDEA, KDevelop, Komodo IDE, MonoDevelop, Netbeans, RabbitVCS, TextMate, Visual Studio, Wing IDE. See also Comparison of Subversion clients |
| Surround SCM | Yes | Windows, macOS, Linux | Eclipse, IntelliJ IDEA, JDeveloper, NetBeans, Visual Studio, WebStorm |
| Synergy | via Telelogic Change interface | Windows, Linux, Unix | Eclipse, Visual Studio, IntelliJ IDEA |
| Vault | included | Windows, Unix-like, macOS | Visual Studio 2003 and higher, Eclipse 3.2 and higher |
| Vesta | VestaWeb | ||
| Visual SourceSafe | none included; SSWI, VSS Remoting | Windows included; Linux, macOS and Solaris using SourceOffSite; any Java VM using Sourceanywhere for VSS | Visual Studio, IntelliJ IDEA |
| Software | Web interfaces | Stand-alone GUIs | Integration and/or plug-ins for IDEs |
History and adoption
The following table provides historic background notes on various version-control systems:Table explanationSoftware: The name of the application that is described.History: briefly describes the software's origins and development.Notable current users: is a list of well known projects using the software as their primary revision control system, excluding the software itself, followed by a link to a full list if available.
| Software | History | Notable current users |
| AccuRev SCM | First publicly released in 2002 | |
| Azure DevOps Server | First publicly released in March, 2006 as Visual Studio Team System, renamed to Team Foundation Server in 2010 and Azure DevOps Server in 2019. | Microsoft |
| Azure DevOps Services | First publicly released in 2012 as Team Foundation Service, renamed to Visual Studio Online in 2013, Visual Studio Team Services in 2015 and Azure DevOps in 2018. | Microsoft |
| GNU Bazaar | 26.03.2005 Initial release March 26, 2005. Loosely related to baz. Sponsored by Canonical Ltd. | |
| BitKeeper | 04.05.2000 Initial release May 4, 2000. Influenced by Sun WorkShop TeamWare | |
| CA Software Change Manager | Original company founded in 1977; CA SCM first released in 1995. | |
| IBM DevOps Code ClearCase | Developed beginning in 1990 by Atria Software, following concepts developed by Apollo Computer in DSEE during the 1980s. The most recent version is 9.0.0, released in March 2016. | |
| Code Co-op | The first distributed VCS, demoed in 1997, released soon after. | |
| CVS | 03.07.1986 First publicly released July 3, 1986; based on RCS | NetBSD, OpenBSD |
| CVSNT | First publicly released 1998; based on CVS. Started by CVS developers with the goal adding support for a wider range of development methods and processes. | |
| darcs | 09.04.2003 First announced on April 9, 2003 | |
| Dimensions CM | Developed by SQL Software under the name "PCMS Dimensions" during the late 1980s. Through number of company acquisitions the product was released under names "PVCS Dimensions", "Dimensions", "ChangeMan Dimensions" and finally "Dimensions CM". | |
| Fossil | 21.07.2007 Fossil and SQLite have used Fossil since 21 July 2007. | |
| Git | Started by Linus Torvalds in April 2005, following the BitKeeper controversy. | Linux kernel, Android, OpenJDK, Bugzilla, DragonFly BSD, FreeBSD, gcc, GNOME, GNU Emacs, GnuPG, GRUB2, KDE, MySQL, Perl 5, PostgreSQL, Python, X.Org, Cairo, Qt Development Frameworks, Samba, OpenEmbedded, Ruby, Ruby on Rails, Wine, Fluxbox, Openbox, Compiz Fusion, XCB, Xen, ELinks, XMMS2, e2fsprogs, GNU Core Utilities, DokuWiki, Drupal, LibreOffice, MediaWiki, Mono, ASP.NET MVC, ADO.NET Entity Framework, NuGet, jQuery and many of its plugins, OpenCV, Twitter, Netflix, LinkedIn, Wireshark, Django, many companies like Eclipse Foundation, Ericsson, Microsoft, Huawei, Apple, Amazon, LG |
| GNU arch | Started by Tom Lord in 2001, it later became part of the GNU project. Lord resigned as maintainer in August 2005. | |
| IC Manage | Developed by IC Manage, Inc which was founded in 2003 by Shiv Sikand and Dean Drako. | |
| PTC Integrity | Originally developed by MKS Software. Purchased by PTC in May 2011 | |
| Mercurial | 06.04.2005 Started April 6, 2005 by Matt Mackall, following the BitKeeper controversy. First released on April 19, 2005 | GNU Multi-Precision Library, GNU Octave, Pidgin, XEmacs |
| Monotone | First released in April 2003 | |
| Perforce Helix Core | Developed by Perforce Software, Inc which was founded in 1995 by Christopher Seiwald. | |
| Rational Team Concert | Version 1.0 released in June, 2008 | |
| Revision Control System | July 1985 | |
| Source Code Control System | Started by Marc Rochkind in 1972. | |
| Apache Subversion | Started in 2000 by CVS developers with goal of replacing CVS | |
| Synergy | Developed beginning in 1988 by Caseware, as AmplifyControl. The company was renamed Continuus in 1994, where the product became better known as Continuus/CM. Continuus was acquired by Telelogic in 1999 shortly after going public; the product was renamed Telelogic Synergy. IBM acquired Telelogic in 2008 for integration into their Rational tool suite. The product is now known as IBM Rational Synergy. | |
| Vault | First publicly released in February, 2003 | |
| Vesta | First publicly released under the LGPL in 2001 | |
| Visual SourceSafe | originally created by a company called One Tree Software, version 3.1. Company was bought by Microsoft which released version 4.0 of VSS around 1995 | |
| Software | History | Notable current users |