SVN Terminologien - Checkouts, Arbeitskopie, Eigenschaft, Repository

8

Während ich versuche, svn:externals zu lernen, fällt es mir schwer, die Unterschiede dieser Begriffe zu verstehen. Wie sind sie anders?

  • Arbeitskopie und checkout

      

    Manchmal ist es sinnvoll, eine Arbeitskopie zu konstruieren, die aus verschiedenen Checkouts besteht. ( Quelle )

  • Eigenschaft

      

    In Subversion deklarieren Sie externe Definitionen in Gruppen mit der Eigenschaft svn: externals . ( Quelle )

  • Repository

      

    Dadurch können Zweige und Tags sehr schnell erstellt werden und benötigen fast keinen zusätzlichen Platz im Repository . ( Quelle )

         

    Sie möchten beispielsweise, dass verschiedene Dateien oder Unterverzeichnisse von verschiedenen Speicherorten in einem Repository oder möglicherweise von verschiedenen Repositorys kommen. ( Quelle )

  • Projekt

      

    Legen Sie die Eigenschaft svn: externals für einen Ordner in Ihrem Projekt fest . ( Quelle )

Ich denke, eine Arbeitskopie besteht aus einer Reihe von Projektdateien, und eine Überprüfung ist eine Arbeitskopie von Projektdateien oder Stammdateien. Die Eigenschaft klingt wie eine Datei, aber es könnte nur eine Definitionsanweisung sein, aber ich bin mir nicht sicher. Ich habe auch Schwierigkeiten, die Unterschiede zwischen Repository und Stamm zu verstehen. Wenn ich sage "Benutzer laden das Repository.", Ist es ähnlich zu sagen "Benutzer laden die Stammdateien."

Entschuldigung, das muss eine sehr einfache englische Frage sein!

    
Teno 11.10.2012, 04:16
quelle

3 Antworten

6
  • Working Copy (Substantiv) - Verzeichnisbaum, der ein Teil des Repository enthält
  • Checkout (Aktion) - Abrufen von initialem Inhalt aus dem Repo in den Ordner, der nach ihm zur Arbeitskopie wird
  • Eigenschaft (Substantiv) - Attribut des Repository-Objekts
  • Repository (Substantiv) - Speicherung von versionierten Daten und zugehörigen Metadaten, mit denen Clients interagieren
  • Projekt (Substantiv) - (im zitierten Kontext) Kombination von WC und verwandtem Repo (ORed), kann Bedeutung von WCs-set haben, die das vollständige Produkt bilden

Das Repository ist ein logischer Baum, dort ist der Stamm ein Teil dieses Baums

    
Lazy Badger 11.10.2012, 05:16
quelle
1

Ich poste einige Beschreibungen, die ich online gefunden habe.

Repository

  

Das Kernstück des Versionskontrollsystems ist ein Repository, das der zentrale Speicher der Systemdaten ist. Das Repository speichert normalerweise Informationen in Form einer Dateisystemstruktur - einer Hierarchie von Dateien und Verzeichnissen. Eine beliebige Anzahl von Clients stellt eine Verbindung zum Repository her und liest oder schreibt dann in diese Dateien.

Ссылка

Arbeitskopie

  

Eine Arbeitskopie ist im wahrsten Sinne des Wortes eine lokale Kopie einer bestimmten Version der VCS-verwalteten Daten eines Benutzers, auf der dieser Benutzer frei arbeiten kann. Arbeitskopien erscheinen für andere Software genauso wie jedes andere lokale Verzeichnis voller Dateien, so dass diese Programme nicht "Versionskontrollfähig" sein müssen, um von diesen Daten zu lesen und in sie zu schreiben.

Ссылка

Zur Kasse

  

... checkout erstellt eine Arbeitskopie, während update Änderungen an einer bestehenden Arbeitskopie abbaut. von karoberts

     

... ein Checkout enthält die .svn-Verzeichnisse, also ist es eine Arbeitskopie und wird die richtigen Informationen haben, um Commits zurück zu machen (wenn Sie die Erlaubnis haben). von notbenh

     Mit

svn checkout können Sie die Versionskontrolle in dem Verzeichnis verwenden, das von Gerald Kaszuba

erstellt wurde
    
Teno 12.10.2012 03:06
quelle
1

Dies sind wichtige Subversion-Konzepte, die von Anfang an klar sein sollten. Das offizielle Buch Version Control with Subversion hat ein Version Control Basics Kapitel mit einem kurzen Überblick, aber ich werde sie hier mit meinen eigenen Worten erklären:

Hauptkonzepte

Repository

Es ist die zentrale Datenbank, in der alle wichtigen Daten (einschließlich Dateien und Versionsgeschichte) gespeichert sind.

Sie interagieren nicht direkt mit den Repository-Dateien, genauso wie Sie keine MySQL-Datendateien bearbeiten. Insbesondere kopieren Sie dort Ihren Quellcode nicht. Stattdessen verwenden Sie einen Subversion-Client, um bestimmte Subversion-Sachen auszuführen. Aus diesem Grund verweisen Sie niemals auf das Repository über seinen Dateisystempfad. Stattdessen verwenden Sie einen URI:

  • file:///C:/Data/Subversion/foo
  • svn://svn.example.com/foo
  • http://svn.example.com/foo
  • https://svn.example.com/foo

Das URI-Präfix hängt davon ab, welche Tools Sie konfiguriert haben.

Sie haben nur ein Repository für ein bestimmtes Projekt, weil Subversion ein zentralisiertes Versionskontrollsystem ist.

Arbeitskopie

Es ist der lokale Verzeichnisbaum, in dem Sie Ihre Dateien sehen und mit ihnen arbeiten können.

Sie arbeiten mit Ihren Arbeitskopie-Dateien genauso wie vor der Versionskontrolle: Starten Sie Ihren Editor / IDE, nehmen Sie Änderungen vor, kompilieren / ausführen. Der einzige Unterschied besteht darin, dass Ihre Dateien mit einer bestimmten Revision im Repository verknüpft sind. Daher müssen Sie einige zusätzliche Schritte ausführen:

  1. Sie müssen die Arbeitskopie einmal erstellen , damit sie mit dem entsprechenden Repository verknüpft ist. Das nennt man check out .

  2. Sie müssen Ihre Änderungen an das Repository senden, damit sie im gemeinsamen Verlauf gespeichert und für andere verfügbar werden: das heißt commit .

  3. Möglicherweise möchten Sie die Änderungen abrufen, die ein anderer Mitarbeiter vorgenommen hat: update .

Sie verweisen auf Arbeitskopien nach ihrem Dateisystempfad:

  • C:\MyProjects\Foo\code

Sie können so viele Arbeitskopien haben, wie Sie benötigen, selbst wenn sie auf den gleichen Ort zeigen.

Andere Konzepte

Trunk

Es ist ein Unterverzeichnis, das eine Kopie Ihres Codes enthält und Sie haben entschieden, dass es Ihre Hauptentwicklungslinie darstellt. Zum Beispiel:

  • /trunk

Es ist nur eine Konvention (das Verzeichnis ist nicht speziell für Subversion), aber empfohlen und weit verbreitet.

Zweig

Es ist ein Unterverzeichnis, das eine Kopie Ihres Codes enthält, und Sie haben entschieden, dass es eine Verzweigung in Ihrem Code darstellt (eine nicht abgeschlossene Aufgabe, eine Anpassung, eine alte Version, die Sie noch pflegen ...). Zum Beispiel:

  • /branches/unicode

Es ist nur eine Konvention (das Verzeichnis ist nicht speziell für Subversion), aber empfohlen und weit verbreitet.

Tag

Es ist ein Unterverzeichnis, das eine Kopie Ihres Codes enthält und Sie haben entschieden, dass es eine bestimmte Version darstellt. Du schreibst nie dazu. Zum Beispiel:

  • /tags/2.0.0-alpha

Es ist nur eine Konvention (das Verzeichnis ist nicht speziell für Subversion), aber empfohlen und weit verbreitet.

Eigenschaft

Subversion ermöglicht das Speichern zusätzlicher Informationen zu Revisionen, Dateien und Ordnern. Jedes Stück Daten ist eine Eigenschaft. Diese Information ist spezifisch für Subversion und existiert nicht außerhalb, daher benötigen Sie spezielle Werkzeuge um sie zu lesen und zu schreiben.

Projekt

Dies ist kein Subversion-Begriff . Es ist nur eine übliche Art, sich auf all das zu beziehen, was mit einer bestimmten Arbeit zu tun hat.

    
Álvaro González 05.02.2014 16:50
quelle

Tags und Links