Git is a distributed version control system, originally designed for Linux kernel development and large projects with non-linear workflows. It's comprised of individual tools, reuses ssh and rsync protocols, emphasises speed and data integrity, and keeps every checkout as full-fledged repository, and cryptographically authenticates source history. Various graphical frontends, IDE integrations and web services (GitHub) exist; with its git-fast-export format meanwhile serves interoperability with
GitLab is a development collaboration tool and git DVCS frontend. It includes repository management features, code reviews, an issue tracker, activity feeds and wikis. GitLab provides fine-grained access control, user management, 5 permission levels and branch constraints, and can utilize LDAP/AD intranet authorization. Powered by Ruby on Rails it comes as open source package, and as commercial supported enterprise version.
Fossil is a distributed version control system, quite robust and easy to use. It manages local and remote repositories, user permissions, has a built-in wiki, bugtracker, release blog and an extendable web interface. It's github-in-a-box as all features are packed into a stand-alone executable which also doubles as server. Internally the database utilizes SQLite and allows extending that or its user interface through TCL or the builtin TH1 scripting language. An optional JSON API permits further
Darcs is a cross-platform version control system. It's similarly decentralized as git, mercurial or subversion but with a very different management approach. It focuses on changes rather than trees/snapshots. Which allows it to provide a freer way of working, and a much simpler CLI and a highly interactive user interface. It can work in an offline mode, provides local preparations, easy (non-)branching and merging, email patch sending, parallel development and builtin cherry-pickying from cha