Mercurial

from Wikipedia, the free encyclopedia
Mercurial

New Mercurial logo.svg
Basic data

developer Matt Mackall et al. v. a.
Publishing year April 19, 2005
Current  version 5.5
( August 3, 2020 )
operating system Linux , macOS , Windows etc.
programming language Python , C.
category Version management
License GPLv2 + ( Free Software )
German speaking Yes
www.mercurial-scm.org

Mercurial is a platform-independent, distributed version control system for software development. It is developed almost entirely in Python : only a diff implementation that can handle binary files is implemented in C. Mercurial is used primarily from the command line; All commands start with " hg ", the element symbol of mercury ( English mercury ).

Mercurial's development focuses on efficiency, scalability and robust handling of text and binary files. With Mercurial, the repository of the project that you want to develop is "cloned", ie a local copy is created. The usual functions are then available on this local copy, for example creating new revisions, called a changeset .

The ability to create and merge development branches ( " branching " and " merging " ) is an integral part of Mercurial. An integrated web interface is available; Third-party providers provide graphical front ends or plugins for development environments.

history

On April 19, 2005, Mercurial was announced by Matt Mackall on the Linux kernel mailing list. The decisive factor was the announcement by BitMover , which z. B. BitKeeper software used as the version control system for the Linux kernel is no longer available in a free version. Around the same time, Linus Torvalds had started his own project called Git , which had similar goals as Mercurial.

Git is officially used for the Linux kernel, but there are also kernel developers who use Mercurial.

distribution

Mercurial is used by many well-known software projects and companies. It is used, among others, by Facebook , Mozilla ( Firefox , Thunderbird ), SourceForge , Google Inc. ( Google Code ), Atlassian ( Bitbucket ), Microsoft ( CodePlex ), Oracle ( OpenJDK ), Xen , NetBeans IDE , Python , Dovecot , and Nginx .

Figure 1: Some of Mercurial's key operations and their relationships.

Graphic interfaces

For Microsoft Windows and Gnome / Nautilus is the graphical interface TortoiseHg and macOS with MacHg and Murky , one each to-use frontend available which allows easy use of Mercurial without command line commands.

Various integrated development environments such as Netbeans , Eclipse , Android Studio , Delphi or the Qt Creator support Mercurial directly from the graphical user interface, usually through a plug-in that is either supplied or installed later. MercurialEclipse also allows you to work with patch queues (mq).

See also

Web links

Commons : Mercurial  - collection of images, videos and audio files

Individual evidence

  1. lkml.org .
  2. www.mercurial-scm.org .
  3. License
  4. ^ Matt Mackall, Towards a Better SCM: Revlog and Mercurial (PDF; 118 kB), Ottawa Linux Symposium Proceedings, 2006.
  5. Mercurial v0.1 - a minimally scalable distributed SCM ( memento of the original from August 5, 2012 in the web archive archive.today ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.ussg.iu.edu
  6. see version management system of the Linux kernel
  7. see for example the version management system of the LinuxTV project
  8. ^ Scaling Mercurial at Facebook
  9. Mozillazine Version Control System Shootout Redux Redux (en) ( Memento from February 23, 2008 in the Internet Archive )
  10. Working with Mozilla source code (en) ( Memento of the original from April 26, 2011 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / developer.mozilla.org
  11. Mozilla (hg) Repo ( Memento of the original from March 28, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / hg.mozilla.org
  12. Mercurial - sourceforge ( Memento of the original from September 6, 2011 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / sourceforge.net
  13. Forge / documentation / Mercurial - Beta ( Memento of the original from October 23, 2011 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / sourceforge.net
  14. ^ David Baum: Mercurial Support for Project Hosting on Google Code. (No longer available online.) In: The Google Code Blog. April 24, 2009, archived from the original on April 26, 2009 ; Retrieved January 26, 2010 .
  15. CodePlex now supporting native Mercurial (en) ( Memento of the original from July 7, 2013 on WebCite ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / blogs.msdn.com
  16. OpenJDK Mercurial Transition Final Update (en) ( Memento of the original from March 8, 2009 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / weblogs.java.net
  17. OpenJDK (ed) Repo
  18. XenSource: Xen Distribution mercurial (hg) Repositories Browser (en)
  19. NetBeans (ed.) Repo
  20. Migrating from svn to Mercurial (en)
  21. Python Repo index
  22. ^ Dovecot Mercurial Repo Index
  23. ^ Nginx Mercurial Repo