GNU arch

GNU arch

GNU arch ist eine Software zur verteilten Versionsverwaltung. Versionsverwaltungssysteme werden u. A. eingesetzt, um die Veränderungen am Quellcode eines Programmes zu speichern und Entwicklern die Möglichkeit zu geben, gleichzeitig daran zu arbeiten.

Inhaltsverzeichnis

Merkmale

GNU arch verfolgt einen etwas anderen Ansatz als die meisten anderen Versionskontrollen. Jede Revision, d. h. Änderung am Quelltext, ist eindeutig identifizierbar. Dadurch sind Zusammenführungen von an sich komplett ungleichartigen Quellcodebäumen möglich.

GNU arch operiert dezentral, das bedeutet, dass es keine Notwendigkeit für einen zentralen Server mit getrennter Benutzerverwaltung gibt. Stattdessen stellt ein sogenannter Head-Developer, also ein Entwickler an zentraler Position im Projekt, einfach eine Kopie des Projektes via HTTP, FTP, SFTP oder jedem anderen Protokoll das sich für Dateitransfer eignet, zur Verfügung. Entwickler, die an dem Projekt mitarbeiten möchten, holen sich diese Kopien und erstellen ihre Änderungen, welche an den Head-Developer zurückgesandt werden und von ihm in den offiziellen Quellcodebaum eingepflegt werden.

Um das Verhalten eines zentralisierten Versionskontrollsystems nachzuahmen, könnte der Head-Developer den Mitentwicklern z. B. Shellzugang via SSH bereitstellen. Diese können dann, nach erfolgter Authentifizierung, über Schreibzugriff im Dateisystem den Quellcode direkt ändern.

Andere Features von GNU arch:

  • Atomare Commits: Ein Commit findet nur als Transaktion statt, schlägt ein Teil des Commits fehl werden alle Änderungen zurückgenommen. Dies garantiert konsistente Commits.
  • Orientierung an changesets: GNU arch verwaltet sogenannte changesets, also Änderungen an mehreren Dateien, anstelle von einzelnen Dateien
  • Leichtes und fortschrittliches branching, also das Abspalten und späterem Zusammenfügen von Quellcodebaum-Teilen zwecks gleichzeitiger Bearbeitung
  • Fortgeschrittenes Zusammenführen von Changesets
  • Kryptographische Signaturen zwecks Authentifizierung
  • Datei- und Verzeichnisumbenennung (eine Schwachstelle von CVS)
  • Verwaltung von symbolischen Verknüpfungen

Autor

Der Hauptentwickler und Verwalter von GNU arch ist Tom Lord. GNU arch wird auch manchmal tla genannt, einem Akronym für Tom Lord's Arch. Lord begann mit der Entwicklung von GNU arch als einer Ansammlung von Shellscripten als Alternative zu CVS. 2003 wurde arch ein Teil des GNU-Projekts.

Kritik

Die häufigste Kritik an arch ist seine flache Lernkurve, sogar für Benutzer, die bereits Erfahrung mit anderen Versionskontrollsystemen haben. Archs große Anzahl von Befehlen kann auf neue Benutzer abschreckend wirken.

Auch die etwas ungewöhnliche Dateinamenskonvention [1] stößt auf Kritik. Durch sie wird die Verarbeitung von arch-Dateien in Shellscripts sowie die Portierung von arch auf andere Betriebssysteme erschwert. Auch hat arch den Ruf, nicht sehr gut auf großen Quellcodebäumen zu skalieren.

Verteidiger von arch führen an, dass sich das Projekt noch in aktiver Entwicklung befindet und es sich zusehends stabilisiert.

Alternative Versionen

ArX und Bazaar sind Abspaltungen (forks) von arch.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • GNU Arch — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • GNU arch — Arch est un système de gestion de versions et de gestion de configuration. C est un logiciel libre diffusé selon les termes de la licence GNU GPL. Sommaire 1 Avantages 1.1 Il travaille sur l ensemble de l arborescence 1.2 …   Wikipédia en Français

  • GNU arch — Infobox Software name = GNU arch caption = GNU arch logo author = Thomas Lord developer = Andy Tai latest release version = 1.3.5 latest release date = release date and age|2006|07|20 latest preview version = latest preview date = operating… …   Wikipedia

  • Arch GNU — GNU Arch Arch est un système de gestion de versions et de gestion de configuration. C est un logiciel libre diffusé selon les termes de la licence GNU GPL. Sommaire 1 Avantages 1.1 Il travaille sur l ensemble de l arborescence 1.2 …   Wikipédia en Français

  • Arch Hurd — Famille GNU Langue multilingue Type de noyau Micronoyau État du projet en développement Plates formes i386, x86 64 Licence …   Wikipédia en Français

  • GNU — Famille Type Unix Langue Multilingue Type de noyau Micronoyau …   Wikipédia en Français

  • Arch — Arch: Arch Linux  один из дистрибутивов GNU/Linux. Arch Hurd проект по портированию Arch Linux на платформу GNU Hurd. GNU Arch  система контроля версий. ARCH  эконометрическая модель для описания волатильности временных рядов. Arch …   Википедия

  • GNU RCS — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • GNU Savannah — is a project of the Free Software Foundation initiated by Loïc Dachary, which serves as a collaborative software development management system for Free Software projects. Savannah currently offers CVS, GNU arch, Subversion, Git, Mercurial,[1]… …   Wikipedia

  • GNU Savannah — es un proyecto de la Free Software Foundation, que consiste en un sistema de gestión de proyectos de software libre, también llamado forja. Savannah ofrece servicios de CVS, GNU arch, Subversion, Git, Mercurial,[1] Bazaar, listas de correo,… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”