Revisionskontrolle

Revisionskontrolle, auch bekannt als Versionskontrolle und Quellkontrolle (und ein Aspekt des Softwarekonfigurationsmanagements), ist das Management von Änderungen zu Dokumenten, Computerprogrammen, großen Websites und anderen Sammlungen der Information. Änderungen werden gewöhnlich durch eine Zahl oder Brief-Code identifiziert, hat die "Revisionszahl", "Revisionsniveau" oder einfach "Revision" genannt. Zum Beispiel ist ein anfänglicher Satz von Dateien "Revision 1". Wenn die erste Änderung vorgenommen wird, ist der resultierende Satz "Revision 2" und so weiter. Jede Revision wird mit einem Zeitstempel und der Person vereinigt, die die Änderung vornimmt. Revisionen können verglichen, und mit einigen Typen von Dateien wieder hergestellt werden, haben sich verschmolzen.

Das Bedürfnis nach einer logischen Weise, Revisionen sich zu organisieren und zu kontrollieren, hat für fast bestanden, so lange das Schreiben bestanden hat, aber Revisionskontrolle ist viel wichtiger, und kompliziert geworden, als das Zeitalter der Computerwissenschaft begonnen hat. Das Numerieren von Buchausgaben und Spezifizierungsrevisionen ist Beispiele, die auf das Druck-Only-Zeitalter zurückgehen. Heute, das fähigste (sowie Komplex) Revisionsregelsysteme sind diejenigen, die in der Softwareentwicklung verwendet sind, wo eine Mannschaft von Leuten dieselben Dateien ändern kann.

Versionsregelsysteme (VCS) laufen meistens als eigenständige Anwendungen, aber Revisionskontrolle wird auch in verschiedenen Typen der Software wie Textverarbeitungsprogramme (z.B, Microsoft Word, OpenOffice.org Schriftsteller, KWord, Seiten, usw.), Spreadsheets (z.B, Microsoft Excel, OpenOffice.org Calc, KSpread, Zahlen, usw.), und in verschiedenen zufriedenen Verwaltungssystemen (z.B, Drupal, Joomla, WordPress) eingebettet. Einheitliche Revisionskontrolle ist ein Hauptmerkmal von wiki Softwarepaketen wie MediaWiki, DokuWiki, TWiki usw. In wikis berücksichtigt Revisionskontrolle die Fähigkeit, eine Seite zu einer vorherigen Revision zurückzukehren, die kritisch ist, um Redakteuren zu erlauben, zu verfolgen, editiert jeder eines anderen, richtige Fehler, und verteidigen Sie Publikum wikis gegen den Vandalismus und spam.

Softwarewerkzeuge für die Revisionskontrolle sind für die Organisation von Mehrentwickler-Projekten notwendig.

Übersicht

In der Computersoftwaretechnik ist Revisionskontrolle jede Praxis, die verfolgt und Kontrolle über Änderungen zum Quellcode zur Verfügung stellt. Softwareentwickler verwenden manchmal Revisionskontrollsoftware, um Dokumentation und Konfigurationsdateien sowie Quellcode aufrechtzuerhalten.

Als Mannschaft-Design, entwickeln Sie und setzen Sie Software ein, es ist für vielfache Versionen derselben Software üblich, in verschiedenen Seiten und für die Entwickler der Software aufmarschiert zu werden, um gleichzeitig an Aktualisierungen zu arbeiten. Programmfehler oder Eigenschaften der Software sind häufig nur in bestimmten Versionen anwesend (wegen des Befestigens von einigen Problemen und der Einführung von anderen, weil sich das Programm entwickelt). Deshalb, zu den Zwecken, Programmfehler sich niederzulassen und zu bestechen, ist es lebenswichtig wichtig im Stande zu sein, verschiedene Versionen der Software wiederzubekommen und zu führen, um zu bestimmen, in der Version (En) das Problem vorkommt. Es kann auch notwendig sein, zwei Versionen der Software gleichzeitig zu entwickeln (zum Beispiel, wo eine Version Programmfehler bestechen ließ, aber keine neuen Eigenschaften (Zweig), während die andere Version ist, wo neue Eigenschaften auf (dem Stamm) gearbeitet werden.

Am einfachsten Niveau konnten Entwickler einfach vielfache Kopien der verschiedenen Versionen des Programms behalten, und sie passend etikettieren. Diese einfache Annäherung ist auf vielen großen Softwareprojekten verwendet worden. Während diese Methode arbeiten kann, ist es ineffizient, weil viele nah-identische Kopien des Programms aufrechterhalten werden müssen. Das verlangt viel Selbstbeherrschung seitens Entwickler, und führt häufig zu Fehlern. Folglich sind Systeme, um einige oder den ganzen Revisionskontrollprozess zu automatisieren, entwickelt worden.

Außerdem, in der Softwareentwicklung, der gesetzlichen und Geschäftspraxis und den anderen Umgebungen, ist es zunehmend für ein einzelnes Dokument oder Schnipsel des Codes üblich geworden, der von einer Mannschaft zu editieren ist, deren Mitglieder geografisch verstreut werden können und verschiedene und sogar gegensätzliche Interessen verfolgen können. Hoch entwickelte Revisionskontrolle, die verfolgt und für Eigentumsrecht von Änderungen zu Dokumenten und Code verantwortlich ist, kann äußerst nützlich oder sogar in solchen Situationen notwendig sein.

Revisionskontrolle kann auch Änderungen zu Konfigurationsdateien, wie diejenigen verfolgen, die normalerweise in oder auf Systemen von Unix versorgt sind. Das gibt Systemverwaltern eine andere Weise, Änderungen vorgenommen und eine Weise leicht zu verfolgen, zu früheren Versionen zu wiederholen, sollte das Bedürfnis entstehen.

Spezialstrategien

Technikrevisionskontrolle hat sich von formalisierten Prozessen entwickelt, die auf dem Verfolgen von Revisionen von frühen Entwürfen oder bluelines gestützt sind. Dieses System der Kontrolle hat implizit erlaubt, zu jedem früheren Staat des Designs für Fälle zurückzukehren, in denen eine Techniksackgasse in der Entwicklung des Designs erreicht wurde.

Ein Revisionstisch wurde verwendet, um die vorgenommenen Änderungen nachzugehen. Zusätzlich wurden die modifizierten Gebiete der Zeichnung mit Revisionswolken hervorgehoben.

Versionskontrolle ist auch im Geschäft und Gesetz weit verbreitet. Tatsächlich, "ziehen Sie redline zusammen" und "gesetzliche blackline" einige der frühsten Formen der Revisionskontrolle sind, und noch im Geschäft und Gesetz mit unterschiedlichen Graden der Kultiviertheit verwendet werden. Eine komplette Industrie ist erschienen, um die Dokumentenrevisionskontrollbedürfnisse nach dem Geschäft und den anderen Benutzern zu bedienen, und etwas von der in diesen Kreisen verwendeten Revisionskontrolltechnologie ist fein, stark, und innovativ. Die hoch entwickeltesten Techniken beginnen, für das elektronische Verfolgen von Änderungen zu CAD-Dateien verwendet zu werden (sieh Produktdatenverwaltung), die "manuelle" elektronische Durchführung der traditionellen Revisionskontrolle verdrängend.

Quellmanagement-Modelle

Traditionelle Revisionsregelsysteme verwenden ein zentralisiertes Modell, wo alle Revisionskontrollfunktionen auf einem geteilten Server stattfinden. Wenn zwei Entwickler versuchen, dieselbe Datei zur gleichen Zeit zu ändern, ohne eine Methode sich zu behelfen greifen auf die Entwickler zu kann damit enden, jede Arbeit eines anderen zu überschreiben. Zentralisierte Revisionsregelsysteme beheben dieses Problem in einem von zwei verschiedenen "Quellverwaltungsmodellen": Dateiblockierung und das Versionsmischen.

Atomoperationen

Computerwissenschaftler sprechen von Atomoperationen, wenn das System in einem konsequenten Staat verlassen wird, selbst wenn die Operation unterbrochen wird. Die begehen Operation ist gewöhnlich in diesem Sinn am kritischsten. Begeht sind Operationen, die dem Revisionsregelsystem sagen, dass Sie eine Gruppe von Änderungen endgültig und verfügbar für alle Benutzer machen wollen. Nicht alle Revisionsregelsysteme haben atomar begeht; namentlich hat der weit verwendete CVS an dieser Eigenschaft Mangel.

Dateiblockierung

Die einfachste Methode, "gleichzeitigen Zugang" Probleme zu verhindern, schließt sich schließen lassende Dateien ein, so dass nur ein Entwickler auf einmal hat, schreiben Zugang zu den Haupt-"Behältnis"-Kopien jener Dateien. Sobald ein Entwickler eine Datei "überprüft", können andere diese Datei lesen, aber keiner anderer kann diese Datei ändern, bis dieser Entwickler die aktualisierte Version "eincheckt" (oder die Abreise annulliert).

Dateiblockierung hat sowohl Verdienste als auch Nachteile. Es kann etwas Schutz gegen schwierige Verflechtungskonflikte zur Verfügung stellen, wenn ein Benutzer radikale Änderungen mit vielen Abteilungen einer großen Datei (oder Gruppe von Dateien) vornimmt. Jedoch, wenn die Dateien exklusiv geschlossen für den zu langen verlassen werden, können andere Entwickler geneigt sein, die Revisionskontrollsoftware zu umgehen und die Dateien lokal zu ändern, zu ernsteren Problemen führend.

Das Versionsmischen

Die meisten Versionsregelsysteme erlauben vielfachen Entwicklern, dieselbe Datei zur gleichen Zeit zu editieren. Der erste Entwickler, um Änderungen zum Hauptbehältnis "einzuchecken", ist immer erfolgreich. Das System kann Möglichkeiten zur Verfügung stellen, weitere Änderungen ins Hauptbehältnis zu verschmelzen, und die Änderungen vor dem ersten Entwickler zu bewahren, wenn andere Entwickler einchecken.

Das Mischen von zwei Dateien kann eine sehr feine Operation, und gewöhnlich möglich nur sein, wenn die Datenstruktur, als in Textdateien einfach ist. Das Ergebnis einer Verflechtung von zwei Bilddateien könnte auf keine Bilddatei überhaupt hinauslaufen. Der zweite Entwickler, der Code eincheckt, wird mit der Verflechtung darauf achten müssen, sicherzustellen, dass die Änderungen vereinbar sind, und dass die Verflechtungsoperation seine eigenen Logikfehler innerhalb der Dateien nicht einführt. Diese Probleme beschränken die Verfügbarkeit von automatischen oder halbautomatischen Verflechtungsoperationen hauptsächlich zu gestützten Dokumenten des einfachen Textes, wenn eine spezifische Steck-Verflechtung für die Dateitypen nicht verfügbar ist.

Das Konzept eines vorbestellten editiert kann ein fakultatives Mittel zur Verfügung stellen sich ausführlich schließen zu lassen eine Datei für den exklusiven schreiben Zugang, selbst wenn eine sich verschmelzende Fähigkeit besteht.

Grundlinien, Etiketten und Anhängsel

Die meisten Revisionskontrollwerkzeuge werden nur einen dieser ähnlichen Begriffe gebrauchen (Grundlinie, Etikett, Anhängsel), um sich auf die Handlung zu beziehen, einen Schnellschuss zu identifizieren ("etikettieren das Projekt"), oder die Aufzeichnung des Schnellschusses ("versuchen es mit der Grundlinie X"). Normalerweise nur ein der Begriffe Grundlinie, Etikett oder Anhängsel werden in der Dokumentation oder Diskussion gebraucht; sie können als Synonyme betrachtet werden.

In den meisten Projekten sind einige Schnellschüsse bedeutender als andere, wie diejenigen, die verwendet sind, um veröffentlichte Ausgaben, Zweige oder Meilensteine anzuzeigen.

Wenn sowohl der Begriff Grundlinie als auch entweder des Etiketts oder Anhängsels zusammen in demselben Zusammenhang gebraucht wird, beziehen sich Etikett und Anhängsel gewöhnlich auf den Mechanismus innerhalb des Werkzeugs des Identifizierens oder Bildens der Aufzeichnung des Schnellschusses, und Grundlinie zeigt die vergrößerte Bedeutung jedes gegebenen Etiketts oder Anhängsels an.

Die am meisten formelle Diskussion des Konfigurationsmanagements gebraucht den Begriff Grundlinie.

Verteilte Revisionskontrolle

Verteilte Revisionsregelsysteme (DRCS) nehmen eine Gleicher-zu-Gleicher-Annäherung im Vergleich mit der Client/Server-Annäherung von zentralisierten Systemen. Anstatt eines einzelnen, zentralen Behältnisses, auf dem Kunden gleichzeitig sind, ist die Arbeitskopie jedes Gleichen des codebase ein ehrliches Behältnis.

Verteilte Revisionskontrolle führt Synchronisation durch das Austauschen von Flecken (Änderungsfelder) vom Gleichen dem Gleichen. Das läuft auf einige wichtige Unterschiede zu einem zentralisierten System hinaus:

  • Nicht kanonisch besteht die Bezugskopie des codebase standardmäßig; nur Arbeitskopien.
  • Allgemeine Operationen (solche, die begehen, Geschichte und zurückkehrende Änderungen ansehend) sind schnell, weil es kein Bedürfnis gibt, mit einem Hauptserver zu kommunizieren.

Eher ist Kommunikation nur notwendig, wenn sie stößt oder Änderungen zu oder von anderen Gleichen zieht.

  • Jede Arbeitskopie fungiert effektiv als eine entfernte Unterstützung des codebase und von seiner Änderungsgeschichte, natürlichen Schutz gegen den Datenverlust zur Verfügung stellend.

Integration

Einige der fortgeschritteneren Revisionskontrolle-Werkzeuge bieten viele andere Möglichkeiten an, tiefere Integration mit anderen Werkzeugen und Softwaretechnikprozessen erlaubend. Plugins sind häufig für IDEN wie Orakel JDeveloper, IDEE von IntelliJ, Eklipse und Sehstudio verfügbar. NetBeans IDE und Xcode kommen mit der einheitlichen Versionskontrollunterstützung.

Allgemeines Vokabular

Fachsprache kann sich vom System bis System ändern, aber einige Begriffe im allgemeinen Gebrauch schließen ein:

Grundlinie: Eine genehmigte Revision eines Dokumentes oder Quelldatei, von der nachfolgende Änderungen vorgenommen werden können. Sieh Grundlinien, Etiketten und Anhängsel.

Zweig: Eine Reihe von Dateien unter der Versionskontrolle kann verzweigt oder an einem Punkt rechtzeitig gegabelt werden, so dass, von dieser Zeit vorwärts, sich zwei Kopien jener Dateien mit verschiedenen Geschwindigkeiten oder unterschiedlich unabhängig von einander entwickeln können.

Änderung: Eine Änderung (oder diff oder Delta) vertritt eine spezifische Modifizierung zu einem Dokument unter der Versionskontrolle. Die Körnung der Modifizierung hat gedacht, dass sich eine Änderung zwischen Versionsregelsystemen ändert.

Änderungsliste: Auf vielen Versionsregelsystemen mit der Atommehränderung, begeht ein changelist, Änderungsfeld, oder Fleck identifiziert sich der Satz von in einer Single vorgenommenen Änderungen begehen. Das kann auch eine folgende Ansicht vom Quellcode vertreten, die Überprüfung der Quelle "bezüglich" jedes besonderen changelist Personalausweises erlaubend.

Abreise: Eine Abreise (oder co) ist die Tat, eine lokale Arbeitskopie vom Behältnis zu schaffen. Ein Benutzer kann eine spezifische Revision angeben oder das letzte erhalten. Der Begriff 'Abreise' kann auch als ein Substantiv gebraucht werden, um die Arbeitskopie zu beschreiben.

Begehen Sie: A begehen (checkin, ci oder, seltener, installieren Sie, legen Sie vor oder registrieren Sie) ist die Handlung des Schreibens oder Mischens der Änderungen, die in der Arbeitskopie zurück zum Behältnis vorgenommen sind. Die Begriffe 'begehst' und 'checkin' können auch in der Substantiv-Form gebraucht werden, um die neue Revision zu beschreiben, die infolge der Begehung geschaffen wird.

Konflikt: Ein Konflikt kommt vor, wenn verschiedene Parteien Änderungen mit demselben Dokument vornehmen, und das System unfähig ist, die Änderungen beizulegen. Ein Benutzer muss den Konflikt auflösen, indem er die Änderungen verbindet, oder indem er eine Änderung zu Gunsten vom anderen auswählt.

Delta-Kompression: Der Grösste Teil der Revisionskontrollsoftware verwendet Delta-Kompression, die nur die Unterschiede zwischen aufeinander folgenden Versionen von Dateien behält. Das berücksichtigt effizientere Lagerung von vielen verschiedenen Versionen von Dateien.

Dynamischer Strom: Ein Strom, in dem einige oder alle Dateiversionen Spiegel der Versionen des Elternteilstroms sind.

Export: Das Exportieren ist die Tat, die Dateien vom Behältnis zu erhalten. Es ist dem Überprüfen ähnlich, außer dass es einen sauberen Verzeichnisbaum ohne die Versionskontrolle metadata verwendet in einer Arbeitskopie schafft. Das wird häufig vor dem Veröffentlichen des Inhalts zum Beispiel verwendet.

Kopf: Auch einmal genannt Tipp, das bezieht sich auf das neuste begehen.

Import: Das Importieren ist die Tat, einen lokalen Verzeichnisbaum zu kopieren (der nicht zurzeit eine Arbeitskopie ist) ins Behältnis zum ersten Mal.

Etikett: Sieh Anhängsel.

Hauptstrecke: Ähnlich dem Stamm, aber kann es eine Hauptstrecke für jeden Zweig geben.

Verflechtung: Eine Verflechtung oder Integration sind eine Operation, in der zwei Sätze von Änderungen auf eine Datei oder Satz von Dateien angewandt werden. Einige Beispieldrehbücher sind wie folgt:

:* Ein Benutzer, an einer Reihe von Dateien arbeitend, aktualisiert oder synchronisiert ihre Arbeitskopie mit Änderungen vorgenommen, und hat im Behältnis durch andere Benutzer eingecheckt.

:* Ein Benutzer versucht, Dateien einzuchecken, die durch andere aktualisiert worden sind, seitdem die Dateien überprüft wurden, und die Revisionskontrollsoftware automatisch die Dateien verschmilzt (normalerweise, nach der Aufforderung des Benutzers, wenn es mit der automatischen Verflechtung, und in einigen Fällen nur dem Tun so fortfahren sollte, wenn die Verflechtung klar und vernünftig aufgelöst werden kann).

:* Eine Reihe von Dateien, wird ein Problem verzweigt, das bestanden hat, bevor das Ausbreiten in einem Zweig befestigt wird, und die üble Lage wird dann in den anderen Zweig verschmolzen.

:* Ein Zweig wird geschaffen, der Code in den Dateien wird unabhängig editiert, und der aktualisierte Zweig wird später in einen einzelnen, vereinigten Stamm vereinigt.

Fördern Sie: Die Tat, Dateiinhalt von einer weniger kontrollierten Position in eine mehr kontrollierte Position zu kopieren. Zum Beispiel, von einem Arbeitsraum eines Benutzers in ein Behältnis, oder von einem Strom bis seinen Elternteil.

Behältnis: Das Behältnis ist, wo die aktuellen und historischen Daten von Dateien häufig auf einem Server versorgt werden. Manchmal auch genannt ein Depot (zum Beispiel, durch SVK, AccuRev und Notgedrungen).

Entschlossenheit: Die Tat des Benutzereingreifens, um einen Konflikt zwischen verschiedenen Änderungen zu demselben Dokument zu richten.

Rückintegration: Der Prozess, verschiedene Mannschaft-Zweige in den Hauptstamm des versioning Systems zu verschmelzen.

Revision: Auch Version: Eine Version ist jede Änderung in der Form. In SVK ist eine Revision der Staat an einem Punkt in der Zeit des kompletten Baums im Behältnis.

Ring: Sieh Anhängsel.

Anteil: Die Tat, eine Datei oder Mappe in vielfachen Zweigen zur gleichen Zeit bereitzustellen. Wenn eine geteilte Datei in einem Zweig geändert wird, wird sie in anderen Zweigen geändert.

Strom: Ein Behälter für verzweigte Dateien, der eine bekannte Beziehung zu anderen solchen Behältern hat. Ströme bilden eine Hierarchie; jeder Strom kann verschiedene Eigenschaften (wie Versionen, namespace, Arbeitsablauf-Regeln, Unterzeichnete, usw.) von seinem Elternteilstrom erben.

Anhängsel: Ein Anhängsel oder Etikett beziehen sich auf einen wichtigen Schnellschuss rechtzeitig, konsequent über viele Dateien. Diese Dateien an diesem Punkt können alle mit einem benutzerfreundlichen, bedeutungsvollen Namen oder Revisionszahl markiert werden. Sieh Grundlinien, Etiketten und Anhängsel.

Stamm: Die einzigartige Linie der Entwicklung, die nicht ein Zweig (manchmal auch genannt Grundlinie oder Hauptstrecke) ist

Aktualisierung: Eine Aktualisierung (oder Gleichzeitigkeit) verschmilzt Änderungen, die mit dem Behältnis (durch andere Leute, zum Beispiel) in die lokale Arbeitskopie vorgenommen sind.

Arbeitskopie: Die Arbeitskopie ist die lokale Kopie von Dateien von einem Behältnis, in einer spezifischen Zeit oder Revision. Die ganze geleistete Arbeit zu den Dateien in einem Behältnis wird auf einer Arbeitskopie, folglich der Name am Anfang getan. Begrifflich ist es ein Sandkasten.

Siehe auch

  • Änderungskontrolle
  • Der Vergleich der Revision kontrolliert Software
  • Verteilte Revisionskontrolle
  • Die Liste der Revision kontrolliert Software
  • Softwarekonfigurationsmanagement
  • Software versioning
  • Dateisystem von Versioning

Links


Sofortige Nachrichtenübermittlung / Politiker
Impressum & Datenschutz