Ihre Änderungen ins Projektarchiv übertragen

Änderungen an Dateien im Projektarchiv abzuspeichern wird auch Übertragen der Änderungen genannt. Vor dem Übertragen jedoch sollten Sie sicherstellen, dass Ihre Arbeitskopie auch auf dem neuesten Stand ist. Sie können entweder den BefehlTortoiseSVNAktualisieren... sofort ausführen oder zunächst mittelsTortoiseSVNPrüfe auf Änderungen, welche Dateien sich lokal oder auf dem Server geändert haben.

Der Übertragen-Dialog

Wenn Ihre Arbeitskopie auf dem neuesten Stand ist und keine Konflikte vorhanden sind, können Sie Ihre Änderungen übertragen. Wählen Sie die Dateien/Ordner aus die Sie übertragen wollen und wählen Sie den Befehl TortoiseSVNÜbertragen....

Abbildung 4.8. Der Übertragen-Dialog

Der Übertragen-Dialog


Der Dialog zeigt alle geänderten Dateien einschließlich hinzugefügter, gelöschter oder nicht versionierter Dateien an. Wenn Sie bestimmte Dateien nicht übertragen wollen, wählen Sie diese einfach ab. Dateien, die noch nicht unter Versionskontrolle stehen, können Sie durch Markieren vor dem Übertragen hinzufügen.

Objekte, die zu einem anderen Pfad im Projektarchiv gewechselt wurden, werden durch ein (s) gekennzeichnet. Vielleicht haben Sie während der Entwicklung etwas auf einen Zweig umgeschaltet und vergessen, zurück zu trunk zu wechseln. Dies ist Ihr Warnzeichen!

Dateien oder Ordner übertragen?

Wenn Sie Dateien übertragen zeigt der Dialog nur die gewählten Dateien an. Wenn Sie Ordner übertragen, werden die geänderten Dateien automatisch selektiert. Übertragen eines Ordners bedeutet nicht, dass jede Datei in diesem Ordner übertragen wird. Es nimmt Ihnen lediglich die Arbeit ab, alle Dateien vorher auszuwählen.

Wenn Sie geänderte Dateien in Ihrer Arbeitskopie haben, die mittels svn:externals aus einem anderen Projektarchiv eingebunden wurden, können diese Änderungen nicht gleichzeitig übertragen werden. Ein Warnsymbol erscheint unterhalb der Dateiliste, wenn das der Fall ist und ein Hinweistext erklärt, dass diese externen Dateien separat übertragen werden müssen.

Zu viele Dateien werden angezeigt

Falls Sie das Gefühl haben dass TortoiseSVN Ihnen viel zu viele Dateien im Übertragen-Dialog anzeigt die nicht unter Versionskontrolle stehen (z.B. vom Compiler erzeugte Dateien oder Sicherungsdateien vom Editor), haben Sie mehrere Möglichkeiten dies einzugrenzen. Sie können:

  • diese Dateien im Eigenschaftsdialog in die Liste der auszuschließenden Dateien aufnehmen. Dies hat Einfluss auf alle Arbeitskopien gleichzeitig.

  • Fügen Sie diese Dateien mit dem Befehl TortoiseSVNIgnorieren zur Liste der ignorierten Dateien hinzu .Dadurch werden diese Dateien in die svn:ignore Eigenschaft des Ordners aufgenommen, in dem Sie den Befehl aufgerufen haben. Mit dem SVN Eigenschaften-Dialog können Sie die svn:ignore eines Verzeichnisses ändern.

Siehe „Ignorieren von Dateien und Ordnern“ für weitere Information.

Durch einen Doppelklick auf eine Datei im Übertragen-Dialog wird das Vergleichsprogramm gestartet, so dass Sie die Änderungen, welche Sie vorgenommen haben, genauer ansehen können. Das Kontextmenü bietet, wie Sie im Bild sehen können, weitere Optionen. Sie können von hier aus auch Dateien in eine andere Anwendung, z.B. einen Texteditor oder eine Entwicklungsumgebung ziehen.

Sie können Einträge an- oder abwählen, indem Sie das Kästchen links vom Eintrag markieren. Für Verzeichnisse können Sie Umsch-Auswahl verwenden, um die Auswahl rekursiv zu machen.

Die im unteren Bereich angezeigten Spalten können angepasst werden. Wenn Sie einen Rechtsklick auf einen Spaltenkopf machen, erscheint ein Kontextmenü aus dem Sie die anzuzeigenden Spalten auswählen können. Sie können auch die Spaltenbreiten anpassen, indem sie die Spaltenköpfe mit den Ziehmarken justieren. Diese Einstellungen werden gespeichert, so dass Sie beim nächsten Mal dieselben Spalten sehen.

Standardmäßig werden bei einer erfolgreichen Übertragung die von Ihnen gesperrten Dateien wieder freigegeben. Falls sie jedoch die Sperren behalten möchten, aktivieren Sie die Option Sperren behalten. Als Vorgabewert des Auswahlkästchen wird aus der Einstellung no_unlock in der Subversion Konfigurationsdatei verwendet. Lesen Sie in „Allgemeine Einstellungen“ nach, wie sie die Subversion Konfigurationsdatei bearbeiten können.

Ziehen und Ablegen

Sie können auch aus anderen Ordnern Dateien in den Übertragen-Dialog ziehen, solange die Arbeitskopie aus dem selben Projektarchiv ausgecheckt wurde. Angenommen, Sie haben eine riesige Arbeitskopie und mehrere Explorerfenster mit Sichten auf verschiedene Ordner Ihrer Arbeitskopie geöffnet. Wenn Sie die Übertragung nicht aus dem obersten Ordner heraus starten wollen, weil das Durchsuchen der Arbeitskopie nach geänderten Dateien seine Zeit dauert, können Sie die Übertragung in einem Ordner starten und weitere Objekte aus den anderen Ordnern in den Dialog ziehen, welche dann auf einen Schlag mit übertragen werden.

Sie können unversionierte Dateien, die sich in einer Arbeitskopie befinden, direkt in den Übertragen-Dialog ziehen. Diese Dateien werden dann automatisch zur Versionskontrolle hinzugefügt.

Externes Umbenennen reparieren

Manchmal werden Dateien außerhalb von Subversion umbenannt, und sie werden in der Dateiliste als eine fehlende und eine nicht-versionierte Datei angezeigt. Damit sie die Historie der Datei nicht verlieren, müssen Sie Subversion über die Umbenennung informieren. Markieren Sie einfach beide, die alte (fehlende) und die neue (unversionierte) Datei und wählen Sie KontextmenüUmbenennen reparieren, um die beiden Dateien zu einer Umbenennung zusammenzufassen.

Repariere externe Kopien

Falls Sie eine Datei kopiert haben, ohne den entsprechenden Subversion Befehl zu benutzen, können Sie diese Kopie reparieren, so dass die neue Datei ihre Historie nicht verliert. Markieren Sie einfach beide, die alte (normal oder verändert) und die neue (unversionierte) Datei und wählen Sie KontextmenüKopie reparieren, um die beiden Dateien zu einer Kopie zusammenzufassen.

Änderungslisten

Der Übertragen-Dialog unterstützt die Änderungslisten von Subversion, mit der zueinander gehörende Dateien gruppiert werden können. Eine Beschreibung dieser Funktion findet sich in „Änderungslisten“.

Objekte vom Übertragen ausschließen

Manchmal arbeiten Sie mit versionierten Dateien, die sich häufig ändern, die Sie aber nicht übertragen wollen. Eventuell deutet das auf einen Mangel in Ihrem Erstellungsprozess hin - Warum sind diese Dateien versioniert? sollten Sie nicht besser mit Vorlagen arbeiten? Aber manchmal ist dies unvermeidlich. Ein klassischer Grund ist, dass Ihre Entwicklungsumgebung bei jedem Generieren einen Zeitstempel in der Projektdatei verändert. Die Projektdatei muss versioniert sein, da sie all zum Generieren erforderlichen Einstellungen enthält, jedoch muss sie nicht übertragen werden, nur weil sich der Zeitstempel geändert hat.

Um in diesen heiklen Fällen zu helfen, gibt es eine reservierte Änderungsliste namens ignore-on-commit. Jede zu dieser Änderungsliste hinzugefügte Datei, wird im Übertragen-Dialog nicht markiert. Sie können die Änderungen übertragen, müssen Die Datei aber von Hand wählen.

Logmeldungen

Geben Sie eine Logmeldung ein, die die Änderungen, die Sie übertragen genau beschreibt. Das vereinfacht es Ihnen später erheblich, Ihre Änderungen nachzuvollziehen, wenn Sie das Projekt durchsuchen. Die Logmeldung kann so lang oder so knapp sein wie sie möchten. Manche Projekte haben sogar genaue Richtlinien, in welcher Sprache und in welchem Format Logmeldungen verfasst werden müssen.

Sie können Ihre Logmeldungen mit einfachen Formatierungen versehen. Dazu wird eine Konvention ähnlich derer in e-mails angewendet. Um text zu formatieren, verwenden Sie *text* für fett, _text_ für unterstrichen, und ^text^ für kursiv.

Abbildung 4.9. Rechtschreibprüfung beim Eingeben einer Logmeldung

Rechtschreibprüfung beim Eingeben einer Logmeldung


TortoiseSVN enthält eine Rechtschreibprüfung die Sie bei der Korrektur Ihrer Logmeldungen unterstützt. Sie hebt sämtliche falsch geschriebenen Wörter hervor. Verwenden Sie das Kontextmenü, um auf die Korrekturvorschläge zuzugreifen. Verständlicherweise kennt die Rechtschreibprüfung nicht jeden technischen Ausdruck, den Sie verwenden, so dass manchmal korrekt geschriebene Wörter als fehlerhaft markiert werden. Aber keine Sorge. Sie können Diese Wörter über das Kontextmenü zu Ihrem persönlichen Wörterbuch hinzufügen.

Das Eingabefeld verfügt außerdem über eine automatisch Vervollständigen Funktion für Datei- und Funktionsnamen. Diese verwendet reguläre Ausdrücke, um Klassen- und Funktionsnamen aus den zu übertragenden Dateien sowie den Dateinamen selbst zu extrahieren. Sobald Sie die ersten drei Zeichen eines Wortes (oder Strg+Leer) eingeben haben, wird, falls es Übereinstimmungen gibt, eine Liste angezeigt, aus der Sie das vollständige Wort auswählen können. Die zusammen mit TortoiseSVN installierten regulären Ausdrücke finden sich im bin Ordner. Sie können obendrein Ihre eigenen regulären Ausdrücke definieren und in der Datei %APPDATA%\TortoiseSVN\autolist.txt abspeichern. Diese private Liste wird beim Aktualisieren von TortoiseSVN nicht überschrieben. Wenn Sie sich mit regulären Ausdrücken nicht auskennen, finden Sie ausführliche Informationen unter http://de.wikipedia.org/wiki/Regulärer_Ausdruck sowie eine Online-Dokumentation und -Anleitung unter http://www.regular-expressions.info/."

Den regulären Ausdruck korrekt hinzubekommen kann trickreich sein. Um Ihnen dabei etwas zur Hand zu gehen, gibt es einen Testdialog in dem Sie einen regulären Ausdruck gegen eine Liste von Datein testen können. Diesen Dialog können Sie per Kommandozeile mittels TortoiseProc.exe /command:autotexttest starten.

Sie können die zuletzt verwendeten Logmeldungen wiederverwenden. Dazu klicken Sie auf Letzte Meldungen und wählen einen Eintrag aus der Liste der Meldungen für dieses Projektarchiv aus. Die Anzahl der zu speichernden Logmeldungen kann in den Einstellungen festgelegt werden.

Auf der Gespeicherte Daten Seite in den TortoiseSVN Einstellungen können Sie alle gespeicherten Logmeldungen auf einmal löschen. Alternativ können Sie im Letzte Meldungen Fenster Meldungen markieren und mittels Entfernen einzeln löschen .

Über das Kontextmenü können Sie per Namensliste einfügen die Liste der markierten Pfade in die Logmeldung einfügen.

Eine weitere Möglichkeit besteht darin, die Dateien einfach aus der Dateiliste in das Eingabefeld zu ziehen.

Spezielle Ordnereigenschaften

Es gibt mehrere spezielle Ordnereigenschaften welche z.B. für die Formatierung von Logmeldungen und die Rechtschreibkorrektur verwendet werden können. Sehen Sie dazu „Projekt-Einstellungen“.

Integration mit Fehlerverfolgungssystem

Wenn Sie Fehlerverfolgung aktiviert haben, können Sie in das Fehler-ID / Eintrags-Nr: Feld eine oder mehrere Eintragsnummer(n) Ihres Fehlerverfolgungssystems eingeben. Mehrere Einträge müssen durch Kommata getrennt werden. Alternativ können Sie, bei Verwendung von regulären Ausdrücken, die Eintragsnummern direkt in die Logmeldung einfließen lassen. Mehr dazu finden Sie in „Integration mit einem System zur Fehlerverfolgung“.

Fortschrittsdialog

Wenn Sie schlussendlich auf OK klicken wird die Übertragung gestartet und der Fortschrittsdialog angezeigt.

Abbildung 4.10. Eine laufende Übertragung im Fortschritts-Dialog

Eine laufende Übertragung im Fortschritts-Dialog


Der Fortschrittsdialog verwendet eine Farbcodierung, um verschiedene Aktionen anzuzeigen

Blau

Übertrage eine Änderung

Purpur

Übertragen eines neuen Objekts.

Dunkelrot

Übertragen einer Löschung oder Ersetzen eines Objekts.

Schwarz

Alle anderen Objekte.

Dies ist das Standard Farbschema, aber Sie können die Farben im Einstellungsdialog anpassen. Siehe „TortoiseSVN Farben“ für weitere Informationen.