Bei der Arbeit mit dem Subversion-Repository sind Remote-Änderungen (die im Repository) eingehende Änderungen (remote → lokal), während lokale Änderungen ausgehende Änderungen sind (lokal → remote).
In Ansichten, in denen die lokalen und Remote-Kopien verglichen werden, werden eingehende Änderungen mit einem blauen Pfeil nach links und ausgehende Änderungen mit einem grauen Pfeil nach rechts gekennzeichnet. Diese Pfeile können verziert sein, um spezifischere Operationen anzuzeigen.
Die Paket-Explorer-Ansicht zeigt andererseits den Status einer Datei mit einem anderen Satz von Symbolen an, die ihren lokalen Status darstellen. Diese Symbole werden am häufigsten angezeigt. Beginnen wir also mit ihnen:
- Eine Datei, die von der Versionskontrolle ignoriert wird. Sie können steuern, welche Ressourcen ignoriert werden, indem Sie zu Fenster → Einstellungen → Team → Ignorierte Ressourcen gehen .
- Eine Datei, die nicht der Versionskontrolle unterliegt. Dies sind normalerweise neue Dateien, die Sie noch nicht für das Repository festgeschrieben haben.
- Eine versionierte Datei, die dem Remote-Repository hinzugefügt werden muss. Dies sind normalerweise Dateien, die Sie entweder umbenannt oder in ein anderes Verzeichnis verschoben haben.
- Ein gelöschter Ordner. Dies sind Ordner, die Sie lokal gelöscht haben, ohne die Änderungen noch in das Repository zu übernehmen. Beachten Sie, dass Dateien normalerweise aus der Ansicht entfernt werden, wenn sie lokal gelöscht werden, sodass sie normalerweise nicht mit diesem Symbol angezeigt werden.
- Eine Datei ohne lokale Änderungen.
- Eine Datei mit lokalen, nicht festgeschriebenen Änderungen.
- EINgesperrte Datei.
- Eine Datei, für deren Bearbeitung eine Sperre erforderlich ist. Dies sind normalerweise Dateien, die nicht einfach zusammengeführt werden können (dh Binärdateien), aber möglicherweise viele Editoren haben. Eine Datei benötigt eine Sperre, wenn ihre svn:needs-lock
Eigenschaft festgelegt ist, und Subversion versucht, diese Dateien im Dateisystem schreibgeschützt zu machen, um eine ordnungsgemäße Sperrenaushandlung zu erzwingen.
- Eine widersprüchliche Datei. Hierbei handelt es sich normalerweise um Dateien mit einem Commit- / Update-Konflikt, den Sie zur späteren Lösung markiert haben.
- Eine Datei mit einem Baumkonflikt. Hierbei handelt es sich normalerweise um Dateien mit lokalen Änderungen, die jedoch seit der letzten Aktualisierung der lokalen Kopie im Repository verschoben, entfernt oder umbenannt wurden.
- Eine Datei außerhalb des Projekts. Verknüpfte externe Dateien können nicht in das Repository übernommen werden. - Eine Datei, die gewesen ist
geschaltet . Dies sind Dateien, die zu einer anderen Arbeitskopie gehören als das lokale übergeordnete Verzeichnis.
In einer Synchronisationsansicht (z. B. über Synchronisieren mit Repository oder Commit ), wie zuvor beschrieben, gibt es Symbole, die angeben, in welche Richtung eine Änderung erfolgt, sowie zusätzliche Informationen zu dieser Änderung. Diese werden nachfolgend beschrieben:
Ausgehend
- Eine Datei, deren Inhalt geändert wurde und in das Repository übernommen wird.
- Eine Datei, die dem Repository neu hinzugefügt wird. Dies kann mit dem Entfernen von Dateien zusammenfallen, wenn eine Datei verschoben oder umbenannt wird.
- Eine Datei, die aus dem Repository entfernt wird. Dies kann mit einem Dateizusatz in Fällen zusammenfallen, in denen eine Datei verschoben oder umbenannt wird.
- Eine Datei mit Eigenschaftsänderungen im Dialogfeld "Festschreiben". Auf der Registerkarte "Synchronisieren" werden Eigenschaftsänderungen derzeit als normale Dateimodifikation ( ) angezeigt .
Eingehend
- Eine Datei, deren Inhaltsänderungen in das Repository übernommen wurden und die auf die lokale Kopie angewendet werden.
- Eine neue Datei, die der lokalen Kopie aus dem Repository hinzugefügt wird. Wie das Hinzufügen ausgehender Dateien kann dies das Ergebnis eines Verschiebens oder Umbenennens sein.
- Eine Datei, die aus der lokalen Kopie entfernt wird, weil sie aus dem Repository entfernt wurde. Wie das Entfernen ausgehender Dateien kann dies das Ergebnis eines Verschiebens oder Umbenennens sein.
Konflikt
- Eine Datei, die sowohl in der lokalen Kopie als auch im Repository unabhängig voneinander geändert wurde, sodass eine Konfliktlösung erforderlich ist. Um diesen Zustand zu beheben, müssen Sie die Konfliktansicht öffnen oder Änderungen lokal oder remote zwangsweise überschreiben.
- Eine Datei mit einem Baumkonflikt . Dies kann auftreten, wenn an einem Ende (lokal oder remote) neue Änderungen an einer Datei vorgenommen werden und die Datei auf der anderen Seite verschoben, entfernt oder umbenannt wird.
Schließlich öffnet die Option Mit Repository synchronisieren die Registerkarte Synchronisieren ( ) mit den folgenden Schaltflächen:
- Synchronisiert die lokale Kopie mit dem aktuell ausgewählten Repository, wenn Sie darauf klicken. Durch Auswahl aus der Dropdown-Liste können Sie zwischen verschiedenen Remote-Codebasen wechseln.
- Zeigt nur eingehende Änderungen an (remote → lokal).
- Zeigt nur ausgehende Änderungen an (lokal → remote).
- Zeigt sowohl eingehende als auch ausgehende Änderungen an (remote ↔ lokal).
- Zeigt widersprüchliche Änderungen an.
- Aktualisiert alle lokalen Ressourcen mit eingehenden Änderungen nach Aufforderung.
- Ruft den Festschreibungsdialog auf, um alle ausgehenden Änderungen festzuschreiben.
- Bricht die Änderungslisten nach Revisionen auf.
Es gibt einige andere Ansichten, die nicht behandelt wurden und zusätzliche Symbole enthalten. Dies sollte jedoch hoffentlich ein guter Anfang sein. Lassen Sie mich wissen, wenn etwas Wichtiges fehlt oder eine dieser Beschreibungen von Ihrer tatsächlichen Erfahrung abweicht.