Mercurial ist ein plattformübergreifendes, verteiltes Revisions-Kontroll-Tool für Software-Entwickler. Es ist vor allem mit der Programmiersprache Python implementiert, enthält aber eine binäre diff Implementierung in C geschrieben steht auf MS Windows und Unix-ähnlichen Systemen wie FreeBSD, Mac OS X und Linux unterstützt. Mercurial ist in erster Linie ein Kommandozeilenprogramm, sondern grafische Benutzeroberfläche Erweiterungen zur Verfügung. Alle Queck Operationen werden als Argumente die zugehörigen Treiberprogramm Hg, eine Bezugnahme auf das chemische Symbol des Elements Quecksilber aufgerufen.
Hauptdesignziele Mercurial gehören hohe Leistung und Skalierbarkeit, dezentral, vollständig verteilte kollaborative Entwicklung, robuste Handhabung sowohl von Klartext und Binär-Dateien und erweiterte Branching und Merging-Fähigkeiten, während verbleibenden konzeptionell einfach. Es verfügt über einen integrierten Web-Interface. Mercurial hat auch Schritte, um den Übergang zum SVN-Benutzer zu erleichtern gemacht.
Der Schöpfer und leitender Entwickler von Mercurial ist Matt Mackall. Mercurial ist als freie Software unter den Bedingungen der GNU GPL v2 freigegeben.
Technische Information
Mercurial verwendet SHA-1-Hashes, um Revisionen zu identifizieren. Für Repository-Zugriff über ein Netzwerk nutzt Mercurial ein Protokoll, das Round-Trip-Anfragen, neue Verbindungen und Daten übertragen zu reduzieren sucht. Quecksilber kann auch über SSH arbeiten, wo das Protokoll ist sehr ähnlich zu dem Protokoll. Standardmäßig verwendet es eine 3-Wege-Merge vor dem Aufruf von externen Zusammenführungstools.
Geschichte
Mackall ersten Mal angekündigt Mercurial am 19. April 2005 Der Anstoß dafür war die Ankündigung Anfang des Monats von Bitmover dass sie zieh die kostenlose Version von BitKeeper.
BitKeeper hatte für die Versionskontrolle Anforderungen der Linux-Kernel-Projekt verwendet. Mackall beschlossen, ein verteiltes Versionskontrollsystem als Ersatz für die Verwendung mit dem Linux-Kernel zu schreiben. Dieses Projekt begann wenige Tage nach einem anderen Projekt namens Git, von Linus Torvalds mit ähnlichen Zielen initiiert.
Der Linux-Kernel-Projekt beschlossen, Git statt Mercurial verwenden, aber Mercurial wird mittlerweile von vielen anderen Projekten verwendet.
In einer Antwort auf die Mercurial-Mailingliste, erklärte Matt Mackall, wie der Name "Mercurial" gewählt wurde:
Verwendung
Abbildung 1 zeigt einige der wichtigsten Operationen in Mercurial und ihre Beziehungen zu Mercurial Konzepte.
Verwandte Software
- GUI-Schnittstellen für Mercurial sind:
- In Verbindung stehende Hilfsmittel für die Zusammenführung gehören gct und Meld.
- Der Konvertit Erweiterung ermöglicht Import aus CVS, Darcs, Git, GNU Arch, Monotone, Perforce, Basar und Subversion-Repositorys.
- Microsoft Visual Studio unterstützt Mercurial mit den VisualHG und HgSccPackage Plugins.
- NetBeans unterstützt Mercurial ab Version 6.
- Eclipse unterstützt Mercurial mit dem MercurialEclipse Plugin.
- GNU Emacs hat die Unterstützung für Mercurial im VC-Erweiterung.
Verabschiedung
Source-Code-Hosting
Die folgenden Websites bieten kostenlose Quellcode-Hosting für Mercurial Repositories:
- Von Atlassian Bitbucket
- CodePlex von Microsoft
- Google Code
- Codebasis
- JavaForge
- Projekt Kenai von Oracle
- Sourceforge
- Assembla
- GNU Savannah von FSF
- Alioth von Debian
- BerliOS
- Von Fog Creek Software Brennofen
- Andere
Projekte mit Mercurial
Einige Projekte mit den Mercurial verteilt RCS:
- Adblock Plus
- Adium
- Audacious
- CLISP
- Coin3D
- Coveo
- CubicWeb
- Dovecot IMAP-Server
- GeeXboX
- GNU Gesundheit
- GNU Multi-Precision-Bibliothek
- GNU Octave
- Go Programmiersprache
- Knurren
- Eistee
- Illumos
- ZITRONE
- LinuxTV / Video4Linux
- Lugaru HD
- LuxRender 3D-Render-Engine
- Moinmoin-Wiki-Software
- Mozilla
- Köter
- Nginx
- Netbeans
- Nuxeo
- Ogre3D
- OpenJDK
- Open
- OSSEC
- PETSc
- Pidgin
- Python
- Quod Libet
- RabbitMQ
- RawTherapee
- StyleCop
- Symbian OS
- Nokia Maps
- Tryton
- Tuenti
- Vim
- W3C
- WiX
- XEmacs
Kommentare - 0