# Das Handbuch zu &kdesvn;

## Einleitung

&kdesvn; ist ein Subversion-Client von &kde;.

Sie sollten einige Grundkenntnisse über Subversion selbst haben, aber die meisten Einträge sind selbst erklärend.

Sie können Fehlerberichte und Wünsche für neue Funktionen über das &kde;-Fehlerverfolgungssystems senden.

### Begriffe

Haben Sie Erfahrung mit Versionsverwaltungssysteme, dann können Sie diesen Abschnitt überspringen.

Projektarchiv

- Zentraler Speicher von Daten. Das kann eine Datenbank oder ein flaches Dateisystem sein. Ohne besondere Programme können Sie die Daten darin darin nicht lesen. Für Subversion-Projektarchive ist &kdesvn; so ein Programm.

Arbeitskopie

- Eine flache Kopie eines Projektarchivs auf einem lokalen Dateisystem. Diese kann mit jeder Dateiverwaltung verwendet und bearbeitet werden. Informationen des Versionsverwaltungssystems können mit Programmen wie &kdesvn; gelesen werden.

  Denken Sie daran, dass Subversion nicht über Ein-/Ausgabemodule weiß, daher muss eine Arbeitskopie ohne ein spezielles Protokoll erreichbar sein, ⪚ fish:// und ähnliche Protokolle sind nicht möglich.

WebDAV

- WebDAV ist ein Protokoll, mit dem Sie Dateien auf einem entfernten Webserver bearbeiten können. Subversion ist eine besondere Art von WebDAV, wenn über einen Webserver auf Projektarchive zugegriffen wird, normalerweise nur lesbar. Mit speziellen Einstellungen können Sie Schreib- und Lesezugriff mit WebDAV erhalten und dann mit speziellen Browsern darauf zugreifen. &kdesvn; ist kein WebDAV-Dienstprogramm, aber &konqueror; kann das Protokoll webdav:// verwenden. Mit &kdesvn; können Sie den Versionsbaum eines Projektarchivs über das Protokoll http:// durchsehen.

## Arbeiten mit &kdesvn;

### Leistungsmerkmale von &kdesvn;

&kdesvn; verwendet folgende Protokolle für das Durchsuchen von Projektarchiven:

http

- Standard-Protokoll für Webbrowser.

https

- Verschlüsseltes Standard-Protokoll für Webbrowser.

(k)svn+http

- Standard-Protokoll für Webbrowser. Kann benutzt werden, damit &konqueror; automatisch &kdesvn; aufruft.

(k)svn+https

- Verschlüsseltes Standard-Protokoll für Webbrowser. Kann benutzt werden, damit &konqueror; automatisch &kdesvn; aufruft.

(k)svn+file

- Protokoll für lokale Projektarchive. Kann verwendet werden, damit &konqueror; automatisch &kdesvn; aufruft.

(k)svn

- Server-Protokoll von Subversion.

(k)svn+ssh

- Subversion über ssh.

file

- Direkter Zugriff auf das Projektarchiv. &kdesvn; überprüft, ob ein angegebener Pfad ein Projektarchiv oder eine Arbeitskopie ist und öffnet den Pfad im richtigen Modus. Für Subversion gibt es Unterschiede zwischen `file:///dir` und `/dir`.

Diese aufgelisteten Protokolle können auch für &URL;s auf der Befehlszeile verwendet werden.

### Einführung zu Subversion und &kdesvn;

Dieser Abschnitt ist hauptsächlich für Personen gedacht, die sich mit Subversion nicht auskennen und erklärt, wie Subversion bzw. Versionsverwaltungssysteme (RCS) funktionieren.

#### Erstellen einer Arbeitskopie

Arbeitskopien müssen als lokale Pfade erreichbar sein. Subversion kennt keine Pseudo-Dateisysteme wie `smb://` oder `fish://`. &kdesvn; übersetzt einige von ihnen, wenn möglich, wie zum Beispiel `system:/home`, aber das funktioniert nicht über ein Netzwerk.

Als erstes müssen Sie eine Arbeitskopie Ihres Projektarchivs erstellen. Dazu wählen Sie Subversion Allgemein Ein Projektarchiv auschecken . Im folgenden Dialog müssen Sie die &URL; des Projektarchivs ⪚ `http://localhost/repos/myproject` eingeben. Auch Unterordner eines Projektarchivs ⪚ `http://localhost/repos/myproject/trunk` sind möglich.

Wählen oder erstellen Sie einen lokalen Ordner, in dem die Arbeitskopie gespeichert wird.

Dann müssen Sie noch die Revision zum Auschecken wählen. Meistens wird das HEAD sein. Damit haben Sie die neueste Version referenziert.

Nachdem Sie auf OK geklickt haben, erstellt &kdesvn; Ihre neue Arbeitskopie und wird sie öffnen, wenn diese Einstellung aktiviert ist.

Wenn Sie ein Projektarchiv zum Durchsehen geöffnet haben, können Sie einen Ordner markieren, dann Subversion Projektarchiv Aktuellen Projektarchiv-Pfad auschecken wählen und den Dialog wie oben beschrieben ausfüllen. Dann wird nur der markierte Pfad ausgecheckt.

#### Lokale Änderungen einspielen

Markieren Sie den oder die Einträge, die Sie einspielen möchten und wählen Sie im Menü &Ctrl;# Subversion Arbeitskopie Einspielen

Haben Sie bei dieser Aktion keinen Eintrag ausgewählt, verwendet &kdesvn; das oberste Element der geöffneten Arbeitskopie, &ie; den Pfad zur Arbeitskopie selbst.

Dieser Vorgang ist immer rekursiv, d. h. wenn ein Ordner ausgewählt ist, werden immer alle darunterliegenden geänderten Einträge gesendet. Haben Sie eingestellt, dass vor dem Einspielen alle Einträge überprüft werden sollen, werden im folgenden Dialog alle zu sendenden Einträge aufgelistet. Dann können Sie die Markierung für Einträge entfernen, die nicht gesendet werden sollen. In diesem Fall werden alle Einträge einzeln und nicht rekursiv gesendet. Sie können auch nicht versionierte Einträge zum Hinzufügen und Einspielen auswählen, wenn Sie nicht als ignoriert markiert sind. So können Sie erkennen, ob es neuere Einträge gibt, die Sie vergessen haben.

Geben Sie einen Kommentar über die eingespielten Änderungen, drücken Sie auf OK und die Übertragung beginnt.

#### Arbeitskopie aktualisieren

Dies gleicht Ihre lokale Arbeitskopie mit dem Projektarchiv ab. Sie können &kdesvn; so einrichten, dass beim Öffnen einer Arbeitskopie die Überprüfung auf neuere bzw. geänderte Einträge durchgeführt wird. Dies geschieht im Hintergrund und Sie können in der Zwischenzeit bereits mit &kdesvn; arbeiten. Wenn die Überprüfung abgeschlossen ist, werden alle Einträge mit neueren Versionen und alle Ordner, die neuere Einträge enthalten, markiert.

Um die Änderungen zu holen, wählen Sie Subversion Arbeitskopie Auf HEAD-Revision aktualisieren . Damit wird Ihre Arbeitskopie auf die neueste Version im Projektarchiv aktualisiert. Möchten Sie eine bestimmte Revision holen, wählen Sie Subversion Arbeitskopie Auf Revision aktualisieren und geben im folgenden Dialog die gewünschte Revision an.

Ist kein Eintrag ausgewählt, wird die gesamte geöffnete Arbeitskopie aktualisiert, ansonsten nur rekursiv vom ausgewählten Eintrag aus.

#### Hinzufügen und Löschen in der Arbeitskopie

Für beide Operationen sind zwei Schritte erforderlich: Zuerst Hinzufügen oder Löschen und dann das Einspielen der Änderungen ins Projektarchiv. Vor dem Einspielen können Sie das Hinzufügen oder Löschen zurücknehmen.

##### Einträge hinzufügen

Es gibt drei verschiedene Möglichkeiten, um Einträge in eine Arbeitskopie einzufügen.

Wählen Sie nicht versionierte Einträge und fügen Sie sie hinzu

- Kopieren Sie die Einträge mit &konqueror; oder einer anderen Dateiverwaltung in den Bereich der Arbeitskopie. Gehen Sie die Liste durch und markieren die Einträge. Wählen Sie dann Einfg Subversion Arbeitskopie Ausgewählte Dateien/Ordner hinzufügen . Möchten sie Ordner mit allen Untereinträgen hinzufügen, wählen Sie &Ctrl;Einfg Subversion Arbeitskopie Ausgewählte Dateien/Ordner rekursiv hinzufügen aus.

Suchen und rekursiv hinzufügen

- Sie können überprüfen, ob es in der Arbeitskopie irgendwo nicht versionierte Einträge gibt. Nach der Auswahl von Subversion Arbeitskopie Nach nicht versionierten Einträgen suchen wird ein Dialog geöffnet, in dem alle nicht versionierten Einträge aufgelistet sind. Drücken Sie auf OK, dann werden alle markierten Einträge zur Arbeitskopie hinzugefügt. Bei Einträgen, die nicht aufgenommen werden sollen, müssen Sie vorher die Markierung entfernen.

Ziehen und Ablegen

- Markieren Sie in &konqueror; oder anderen kompatiblen Dateiverwaltungen Einträge, die Sie hinzufügen möchten und ziehen Sie sie in &kdesvn;. Sie können diese Einträge auf Ordner innerhalb geöffneter Arbeitskopien ablegen, dann kopiert &kdesvn; die abgelegten Einträge dahin und fügt die Einträge hinzu.

##### Einträge aus der Arbeitskopie löschen und aus der Version herausnehmen

Das Löschen von Einträgen funktioniert immer rekursiv. Wenn Sie zum Beispiel einen Ordner löschen, werden auch alle Einträge in diesem Ordner mit gelöscht. Markieren Sie Ihre Wünsche und wählen Sie den Menüeintrag Subversion Allgemein Ausgewählte Dateien/Ordner löschen . Dann werden die Einträge aus der Version genommen und von der Festplatte gelöscht.

#### Anzeige der Protokolle

Die Anzeige des Protokolls kann mit &Ctrl;L gestartet werden, wenn nur ein oder kein Eintrag in der Übersicht markiert ist. Abhängig von Ihren Einstellungen (siehe subversion-settings), wird &kdesvn; die Protokolleinträge beginnend mit HEAD holen und sie anzeigen.

##### Dialog Protokollanzeige

Auf der linken Seite sehen Sie die Liste mit den von &kdesvn; abgeholten Protokoll-Einträgen. Die Protokollnachrichten sind gekürzt, so dass sie in eine Zeile passen. Die vollständige Nachricht erscheint im oberen rechten Fenster, wenn ein Eintrag markiert ist. Im rechten unteren Fenster sehen Sie eine Liste der geänderten Dateien. Diese Fenster erschien nur, wenn die Liste abhängig von Ihren Einstellungen geholt wird.

Mit den Knöpfen oben können Sie einen anderen Bereich des Protokolls zur Anzeige auswählen.

Dieser Bereich wird ohne voreingestellte Begrenzung verwendet, daher sollten Sie bei großen Projektarchiven damit vorsichtig sein.

Die unten angezeigten Knöpfe arbeiten immer mit dem im Protokoll ausgewählten Eintrag, nicht mit dem in der Liste der geänderten Dateien ausgewählten. Wenn Sie Mit Vorgänger vergleichen anklicken, wird der Vergleich für alle geänderten Einträge in dieser Revision angezeigt, wenn sie gleich oder unterhalb des Subversions-Eintrags liegen, der vorher für das Abholen des Protokolle ausgewählt wurde. Das gleiche gilt für die Funktion Revisionen vergleichen.

Anmerkungen funktionieren natürlich nur, wenn es sich um eine Datei handelt.

Für alle Listeneinträge in beiden Listen gibt es ein Kontextmenü mit einigen zusätzlichen Aktionen. In der linken Liste ist dies Version als linke Seite für Vergleich festlegen, &ie; als Start-Revision und Version als rechte Seite für Verglecih festlegen, &ie; als End-Revision oder Ziel für Vergleich, das ist im „Unified Diff“ der mit `+++` markierte Teil. Wenn Sie Revisionen für diese beiden Aktionen auswählen, werden Sie mit kleinen Pfeilen markiert.

### Arbeiten mit Projektarchiven

Das Durchsehen eines Projektarchivs kann mit &konqueror;, &dolphin; oder anderen Dateiverwaltungsprogramm erfolgen: Öffnen Sie eine URL mit dem in kdesvn-features beschriebenen Protokoll (die Varianten mit k am Anfang). Dann wird der Inhalt angezeigt. Dann können einfache Operationen wie Kopieren, Verschieben oder Löschen ausgeführt werden. Wird eine Abfrage wie ?rev=`xxx` angehängt, wird die angegebene Revision angezeigt. Das Format der Revisions-Abfrage ist in revision-syntax beschrieben. Weitere Informationen über KIO::ksvn finden Sie in kdesvn-kio.

Alle Arbeiten außer dem Kopieren sollten nur beim Durchsehen der Revision HEAD ausgeführt werden.

#### Gelöschte Einträge wiederherstellen

In Subversion ist das Wiederherstellen eines gelöschten Eintrags tatsächlich das Kopieren dieses Eintrags von einer früheren Revision. Wenn Sie einen Eintrag wiederherstellen möchten, laden Sie eine Ansicht des Projektarchivs mit einer Version bevor der Eintrag gelöscht wurde. Dazu wählen Sie Subversion Projektarchiv Revision zum Durchsehen auswählen und geben die gewünschte Revision ein. Dann zeigt &kdesvn; den Inhalt des Projektarchivs mit dieser Revision an. Markieren Sie den Eintrag, den Sie wiederherstellen möchten, und wählen Sie &Ctrl;C Subversion Allgemein Kopieren . Im dadurch geöffneten Dialog ist das Ziel immer die Revision HEAD, die Quelle ist die zum Durchsehen und Kopieren ausgewählte Revision. Geben Sie den Pfad ein, klicken Sie auf OK und das Kopieren beginnt. Wechseln Sie danach zurück zur Revision HEAD, der wiederhergestellte Eintrag wird dann angezeigt.

#### Ordner importieren

Wegen Beschränkungen in Subversion selbst können nur Ordner, nicht aber einzelne Dateien importiert werden.

##### Ziehen und Ablegen

Markieren Sie in jeder kompatiblen Dateiverwaltung die Ordner, die Sie importieren möchten, und ziehen Sie sie zum Ordnereintrag in &kdesvn;, in den Sie importieren möchten.

##### Ordner für den Import mit dem Dateisystem-Browser auswählen

Markieren Sie den Ordner, in den Sie einen neuen Ordner importieren möchten. Wählen Sie dann Subversion Allgemein Ordner in aktuellen Ordner importieren und dann wählen Sie den gewünschten Ordner.

### Andere Operationen

#### Zusammenführen

Öffnen Sie ein Projektarchiv oder eine Arbeitskopie, markieren Sie den gewünschten Eintrag zum Zusammenführen und wählen Sie Subversion Allgemein Zusammenführen . Geben Sie im dann geöffneten Dialog die nötigen Werte ein. Wurde dieser Dialog von einem Projektarchiv aus geöffnet, dann sind die Angaben für Quelle 1 und Quelle 2 bereits ausgefüllt. Beim Öffnen aus einer Arbeitskopie ist das Ziel mit dem ausgewählten Eintrag ausgefüllt. Die Behandlung dieser Parameter ist für den internen Vergleich von Subversion anders als für ein externes Programm wie &kdiff3;. Als Ziel muss immer ein lokaler Ordner oder eine lokale Datei angegeben werden. Sie können zwischen intern und extern mit dem Ankreuzfeld Externes Zusammenführen verwenden wechseln.

##### Internes zusammenführen

Die Optionen haben die gleiche Bedeutung wie das Befehlszeilenprogramm von Subversion. Wenn source1 und source2 gleich sind, müssen Start- und Endrevision unterschiedlich sein. Sind die Quellen nicht gleich, wird die Startrevision source1 und die Endrevision source2 zugewiesen. Das Ziel muss eine Arbeitskopie sein, sonst gibt Subversion eine Fehlermeldung aus.

Die Ankreuzfelder haben folgende Bedeutungen:

Rekursiv

- Alle Operationen bei der Bearbeitung von Ordnern rekursiv ausführen.

Behandelt nicht zugehörige als zugehörige Einträge

- Ist dies aktiv, werden bei der Suche nach Unterschieden nicht zugehörige wie zugehörige Einträge behandelt. Ansonsten entfernt Subversion eine Seite und fügt sie auf der anderen Seite wieder hinzu.

Löschen bei bearbeiteten/nicht versionierten Einträgen erzwingen

- Ist dies nicht aktiviert und erfordert das Zusammenführen ein Löschen eines geänderten oder nicht versionierten Eintrags, schlägt das Zusammenführen in Subversion fehl. Ansonsten werden die Einträge gelöscht.

Nur Testausführung ohne Änderungen

- Ist dies aktiviert, sendet Subversion nur Benachrichtigungen darüber, was ausgeführt würde, ohne tatsächlich die Arbeitskopie zu verändern.

##### Externe Programme zum Zusammenführen verwenden

In diffmerge-settings finden Sie weitere Details zur Einrichtung eines externen Programms zum Zusammenführen. &kdesvn; generiert die Befehlszeile wie dort beschrieben. Davor wird folgendes ausgeführt:

1. Die Startrevision wird der Quelle 1 und die Endrevision der Quelle 2 zugewiesen. Dann wird überprüft, ob es Unterschiede im Pfad oder in der Revision gibt. Wenn ja, wird eine Drei-Wege-Zusammenführung durchgeführt, ansonsten ein einfaches Zusammenführen von Quelle zu Ziel. Ist Quelle 2 leer, wird ebenfalls ein einfaches Zusammenführen ausgeführt.

2. Es wird ein Export in einen temporären Ordner erzeugt. Handelt es sich um eine einfache Zusammenführung, wird Quelle 1 an der Startrevision, ansonsten beide Quellen mit ihren Revisionen exportiert. Ist der Eintrag eine Datei und kein Ordner, wird der Kontext zu einer bestimmten Revision geholt.

3. Aufruf eines externen Programms zum Zusammenführen wie in den Einstellungen festgelegt. Die Fehlerausgabe wird im Protokollfenster angezeigt, so dass Sie mögliche Fehler erkennen können.

Im Unterschied zum internen Zusammenführen kann das Ziel ein flacher Ordner oder eine Datei sein, die sich nicht unter Versionskontrolle befindet, da externe Programme dies nicht beachten.

Ist rekursiv nicht aktiviert, wird der Export als flacher Export ausgeführt. Beachte Sie, dass dabei Externals der Arbeitskopie nicht exportiert.

#### Auflösen von Konflikten

&kdesvn; selbst enthält kein Modul zur Auflösung von Konflikten, Sie können jedoch ein externes Programm von &kdesvn; aus dafür aufrufen. In extern-resolve-setup finden Sie Informationen zur Einrichtung für dieses Programm.

Wenn Sie einen Eintrag mit dem Status Konflikt, erkennbar an einem roten Kreuz in der Listenansicht, markieren, können Sie Subversion Arbeitskopie Konflikte auflösen . Diese Aktion finden Sie auch im Kontextmenü von Einträgen im Konflikt. &kdesvn; startet nun das von Ihnen dafür eingerichtete Programm. Wurde der Konflikt gelöst, sollten Sie den Konflikt für den Eintrag als aufgelöst kennzeichnen, indem Sie aus dem Menü Subversion Arbeitskopie Als gelöst markieren benutzen, ansonsten können Sie Ihre Änderungen nicht einspielen.

### Von &kdesvn; benutzte Eigenschaften für die Einrichtung

#### Einbindung des Fehlerverfolgungssystems

Das TortoiseSVN-Projekt hat ein Eigenschaftssystem für die Einbindung des Fehlerverfolgungssystems in die grafische Bedienungsoberfläche von Subversion entwickelt. Die aktuelle Version von &kdesvn; unterstützt die zusätzlichen Felder beim Einspielen nicht und kennt nur die folgenden Eigenschaften:

#### Eigenschaften der Einbindung des Fehlerverfolgungssystems

Eigenschaft | Beschreibung | Beispiel
`bugtraq:url` | Enthält die &URL; zum Fehlerverfolgungssystem. Die `%BUGID%`-Markierung muss auch enthalten sein. | https://bugs.kde.org/show_bug.cgi?id=%BUGID%
`bugtraq:logregex` | Enthält ein oder zwei reguläre Ausdrücke, getrennt durch Zeilenvorschubzeichen. Ist nur ein regulärer Ausdruck angegeben, muss die Fehlernummer (BUGID) auf den regulären Ausdruck zutreffen. Sind zwei Ausdrücke abgegeben, dann wird der erste Ausdruck verwendet, um einen Text mit Bezug zur BUGID zu finden. Daher darf der erste Ausdruck mehr als nur die BUGID ⪚ Issue #123 or resolves issue 123 enthalten. Der zweite Ausdruck wird dann verwendet, um die BUGID in dem Text zu finden, der mit dem ersten Ausdruck extrahiert wurde. Bitte achten Sie auf unerwünschte Leerzeichen nach regulären Ausdrücken und vergessen Sie nicht die eckigen Klammern um Zahlen. | Einzeln (Anwendung mit TRAC)
    #(\d+)
Jetzt werden all Zahlen wie `#190` eingelesen und in eine &URL; in der Protokollausgabe übersetzt. Zwei Ausdrücke:
    [Ii]ssue #?(\d+)(,? ?#(\d+))*
    (\d+)
##### Speichern Achten Sie auf Leerzeichen nach dem Ausdruck `(\d+)`. Dies ist einer der häufigsten Fehler und führt dazu, dass diese Ausdrücke nicht zutreffen.

Bei lokal geöffneten Projektarchiven, &ie; mit dem Protokoll `file://`, und bei Arbeitskopien werden diese Eigenschaften vom geöffneten Ordner aufwärts gesucht, bis Sie gefunden wurden oder die oberste Ebene des Revisionsbaums erreicht ist. Bei Projektarchiven, die über das Netzwerk geöffnet wurden, &ie; alle außer dem Protokoll `file://`, wird nur im geöffneten Ordner selbst gesucht.

Unterstützung für mehrere Gruppen von Eigenschaften wird möglicherweise später noch hinzugefügt wie ⪚ zusätzliche Werte in Unterordnern für andere Fehlerverfolgungssysteme &etc; In den meisten Fällen sollte jedoch die Evaluierung von Verknüpfungen für einzelne Fehlerverfolgungssysteme ausreichend sein.

### Der Revisionsbaum

Im Revisionsbaum wird der vollständige Verlauf eines Eintrag angezeigt, so dass Sie einen besseren Überblick über den Verlauf erhalten. Dazu muss das vollständige Protokoll des Projektarchivs eingelesen werden, weil für den Revisionsbaum einige Informationen nötig sind, die von Subversion nicht bereitgestellt werden. Da durch diesen Prozess ein erheblicher Netzwerkverkehr erzeugt wird, wird für den Revisionsbaum immer der interne Protokoll-Zwischenspeicher benutzt.

#### Systemanforderungen

Der Revisionsbaum wird mit dot erstellt. Daher müssen Sie für einen funktionierenden Revisionsbaum das Paket graphviz installieren.

### Interner Protokoll-Zwischenspeicher

&kdesvn; kann einen internen Protokoll-Zwischenspeicher für einige Operationen verwenden, hauptsächlich für den Revisionsbaum, aber auch für die einfache Protokollanzeige im Offline-Modus. Die Zwischenspeicher werden in SQLite-Datenbanken im Ordner `$HOME/.sqvnqt/logcache` gespeichert. Jede nummerierte Datei ist die Datenbank für ein einzelnes Projektarchiv.

Die Datenbanken können sehr groß werden. Daher sollten Sie die automatische Aktualisierung des Protokoll-Zwischenspeichers in den Einstellungen abschalten.

Eine Datenbank können Sie einfach löschen, dann gibt es kein gespeichertes Protokoll und keinen Revisionsbaum für dieses Projektarchiv. Ist das automatische Füllen des Zwischenspeichers nicht deaktiviert, wird beim nächsten Öffnen dieses Projektarchivs oder der zugehörigen Arbeitskopie der Zwischenspeicher wieder gefüllt.

#### Offline-Modus

Mit &kdesvn; kann auch ohne Netzwerkverbindung gearbeitet werden, &ie; Sie können den Zugriff auf ein Netzwerk für &kdesvn; abschalten. Dann bezieht &kdesvn; die Protokolle aus dem Zwischenspeicher. Dieses Protokoll ist aus technischen Gründen auf die wesentlichen Informationen beschränkt, daher kann sich das zwischengespeicherte Protokoll vom tatsächlichen Protokoll unterschieden. Der Unterschied besteht darin, dass nicht alle Kopier-Operationen enthalten sind, sogar wenn Protokolle folgen Knotenänderungen aktiviert wurde.

#### Protokoll-Zwischenspeicher und Revisionsbaum

Der Revisionsbaum verwendet nur den Protokoll-Zwischenspeicher, da ansonsten immer wieder die Protokolle eingelesen werden müssen. Der Protokoll-Zwischenspeicher wird nicht erneut eingelesen. Dieses Verhalten kann sich aber in späteren Versionen ändern.

### Bedeutung der Einblendungen auf den Symbolen

Einträge können mit eingeblendeten Symbolen markiert werden, wenn sie nicht im normalen Zustand sind.

Gesperrt

- Dieser Eintrag ist gesperrt. In der letzten Spalte wird der Eigentümer der Sperre aufgeführt. Sie können &kdesvn; so einrichten, dass es Projektarchive auch auf gesperrte Einträge überprüft. Bedenken Sie aber, dass dies abhängig vom Server lange dauern kann.

Muss gesperrt werden

- Dieser Eintrag muss vor dem Bearbeiten und Einspielen gesperrt werden. Der Eintrag bleibt in Subversion nur lesbar, bis Sie eine Sperre setzen.

Aktualisiert

- Dieser Eintrag oder bei einem Ordner ein Eintrag darin hat eine neuere Version im Projektarchiv.

Geändert

- Dieser Eintrag oder bei einem Ordner ein Eintrag darin wurde lokal geändert.

Hinzugefügt

- Dieser Eintrag wurde lokal zu Subversion hinzugefügt, ist aber noch nicht eingespielt worden.

Gelöscht

- Dieser Eintrag wurde lokal aus Subversion gelöscht, ist aber noch nicht eingespielt worden.

Gelöscht

- Dieser Eintrag oder bei einem Ordner ein Eintrag darin hat einen Konflikt bei der letzten Aktualisierung, der aufgelöst werden muss.

### &kdesvn; und Passwörter

&kdesvn; und Subversion können Passwörter speichern. Dies ist immer ein Sicherheitsrisiko, erleichtert aber die Arbeit mit einer grafischen Bedienungsoberfläche.

#### Kein Speichern von Passwörtern

Der sicherste Weg, aber mit grafischen Bedienungsoberflächen wie &kdesvn; ziemlich umständlich. Besonders der Hintergrundprozess von &kdesvn; würde in diesem Fall immer nach dem Passwort fragen, wenn das Projektarchiv einen eingeschränkten Zugriff für lesende Operationen wie Aktualisierung und Status hat. Das gleiche gilt für das Einspielen. Wenn Sie die Passwörter nicht speichern, sollten Sie die Einstellung Beim Öffnen einer Arbeitskopie auf Aktualisierungen prüfen und weitere Einstellungen nicht verwenden.

#### Passwörter in &kwallet5; speichern

Dieser sichere Passwortspeicher wird von vielen &kde;-Programmen wie &kmail; und &konqueror; verwendet. Wenn Sie Ihr Passwort speichern möchten und meistens &kdesvn; verwenden, sollten Sie ebenfalls &kwallet5; benutzen. Einzelheiten dazu finden Sie im Handbuch zu &kwallet5;

#### Speichern im Passwortspeicher von Subversion

Dies wird nicht empfohlen, da die Passwörter als Klartext gespeichert werden. Sie finden die Passwörter in den Dateien in `~/.subversion/auth/svn.simple`. Sie sollten diese Methode nur verwenden, wenn Sie häufig andere Subversions-Programme als &kdesvn; wie zum Beispiel rapidsvn, esvn oder das originale Befehlszeilenprogramm svn verwenden. Sie sollten das Befehlszeilenprogramm nur für das Auschecken und Aktualisierungen verwenden, die beide kein Passwort erfordern. Zum Einspielen, Kopieren und Verschieben benutzen Sie dann &kdesvn; mit der Speicherung des Passworts in &kwallet5;.

#### Interner Passwort-Zwischenspeicher

Sie können eine internen Passwort-Zwischenspeicher aktivieren, der das Passwort im Speicher behält solange &kdesvn; ausgeführt wird. Daher müssen Sie das Passwort zweimal eingeben, sogar wenn Sie es nicht im Passwortspeicher ablegen.

#### Sonderfall „svn+ssh“

Wenn Sie Subversion mit „svn+ssh“ verwenden, kann das Speichern von Passwörtern mit SSH und „ssh-agent“ erfolgen. Dazu brauchen Sie Zugriff zum entfernten Rechner und dem Projektarchiv über SSH. Bei Schreibvorgängen sollten Sie die Authentifizierung mittels öffentlichem Schlüssel der Authentifizierung mittels Passwort vorziehen. Dazu müssen Sie Ihren öffentlichen SSH-Schlüssel auf dem Zielsystem mit dem Projektarchiv ablegen. SSH-Passwörter werden nicht vom Subversion-Passwortspeicher, von &kwallet5; oder vom internen Passwortspeicher verwaltet.

Möchten Sie nicht nach dem Passwort für Ihren SSH-Schlüssel gefragt werden, können Sie das Programm ssh-agent benutzen, indem Sie im Menü Subversion SSH-Identitäten zum SSH-Agenten hinzufügen auswählen. Dann können Sie Ihr Passwort für den SSH-Schlüssel für Ihre aktuelle Sitzung speichern und werden nicht weiter gefragt, wenn das Passwort benötigt wird.

## &konqueror;, KIO, &kdesvn;

### Beschreibung

Ab Version 0.7.0 von &kdesvn; sind einige Module vorhanden, die einige Befehle direkt in die Menüs von &konqueror; einbinden.

KIO-Protokolle

- Implementiert die Verarbeitung folgender Protokolle:

  - ksvn+http

  - ksvn+https

  - ksvn+file

  - ksvn+ssh

  - ksvn

  Diese Protokolle wurden für Projektarchive, nicht für Arbeitskopien, entwickelt. Beispielsweise muss `ksvn+file:///`path`` auf den Anfang eines Projektarchivs zeigen, im Unterschied zur Anwendung selbst oder zum KPart-Modul. Arbeitskopien können mit &konqueror; durchsucht werden.

  Um eine bestimmte Revision durchzusehen, können Sie?rev=`revision` an die &URL; anhängen.

Kontextmenüs

- &kdesvn; installiert Kontextmenüs für &konqueror;. Sie können durch Klicken mit der &RMBn; auf einen Eintrag, der in &konqueror; im Dateiverwaltungsmodus angezeigt wird, das Kontextmenü öffnen und die meisten Standardaktionen in &konqueror; oder anderen Dateiverwaltungen wie &dolphin; ausführen. Dies wird als direkter Aufruf einer Befehlszeilenvariante von &kdesvn; ausgeführt.

#### Anwendung der Ein-/Ausgabemodule außerhalb von &konqueror; - ein Beispiel

Jedes Programm, das die Ein-Ausgabemodul-Bibliothek verwendet, kann diese Protokolle benutzen. Daher ist es möglich, mit &kdiff3; alle Unterschiede zwischen zwei Revisionen ohne tiefere Kenntnisse zu erhalten.

##### Unterschiede zwischen Revisionen mit &kdiff3; und KIO::ksvn ermitteln

    kdiff3 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=423127 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=455064

&kdiff3; zeigt alle Unterschiede zwischen zwei Revisionen.

Verwenden Sie dies innerhalb von &kdesvn; (Vergleich zweier Revisionen) – es ist erheblich schneller, da die internen Mechanismen von Subversion benutzt werden.

### Informationen zu KIO::ksvn für Entwickler

Sie können diesen Abschnitt überspringen, wenn Sie kein Interesse an der KIO-Programmierung haben.

KIO::ksvn::special kennt die folgenden Operationen.

#### Befehlsliste

#### Befehlsübersicht zu `KIO::ksvn::special`

Befehlsname | Numerische Kennung | Parameterliste | In der aktuellen Version implementiert?
Auschecken | 1 | KURL repository, KURL target, int revnumber, QString revkind Das „target“ wird nicht verändert, aber ⪚ der Inhalt wird ausgecheckt, ohne einen Unterordner zu erzeugen. Wenn zum Beispiel als „source“ `http://server/repos/project/trunk` und als „target“ `/home/user/proj/` gesetzt ist, wird der Inhalt von trunk in `/home/user/proj/` kopiert, nicht in `/home/user/proj/trunk/`. | Ja
Aktualisieren | 2 | KURL url, int revnum, QString revstring Ist revnum < 0 dann wird revstring verarbeitet. Das Format von revstring ist im Anhang beschrieben. | Ja
Einspielen | 3 | KURL::List urls urls ist eine Liste von lokalen Adressen zum Einspielen. Die Protokollnachricht wird abgefragt. | Ja
Protokoll | 4 | int startrevnumber, QString startrevstring, int endrevnumber, QString endrevstring, KURL::List Vorsicht bei der Anwendung - dies kann viele Daten produzieren | Ja
Importieren | 5 | KURL targetrepository, KURL sourcepath | Ja
Hinzufügen | 6 | KURL | Ja
Entf | 7 | KURL::List | Ja
Zurücknehmen | 8 | KURL::List Zurückzunehmen wird im Ein-/Ausgabemodul immer nicht rekursiv durchgeführt. Dies muss durch die aufrufende Anwendung selbst erfolgen. | Ja
Status | 9 | KURL item, bool checkRepos, bool recurse item – Eintrag, über den Informationen geholt werden sollen, checkRepos – überprüft, ob es neuere Versionen im Projektarchiv gibt, recurse – Ob rekursiv überprüft werden soll oder nicht. | Ja
Mkdir | 10 | KURL::List | Ja
Auflösen | 11 | KURL, bool recursive | Ja
Wechseln | 12 | KURL working_copy_path, KURL new_repository_url, bool recursive,int revnumber, QString revkind | Ja
Vergleich | 13 | URL uri1, KURL uri2, int r1, QString rstring1, int r2, QString rstring 2, bool recursive Für den Vergleich eines Projektarchivs „file:///“ mit der Arbeitskopie richten Sie die URLs der Arbeitskopie ohne Protokoll ein. | Ja

#### Rückgabewerte

Rückgabewerte können über Metadaten angegeben werden, siehe Apidoc für weitere Details.

#### Inhalt der Metadaten

Schlüssel | Mögliche Werte
path | Pfad des Eintrags, an dem die Aktion ausgeführt wurde, ⪚ die angegebene URL
action | Numerischer Aktionstyp
kind | Art des Eintrags (meistens Ordner oder Datei)
mime_t | MIME-Typ des Eintrags in Subversion
content | Status des Inhalts (Wert von Subversion)
prop | Status der Eigenschaft (Wert von Subversion)
rev | Ergebnis-Revision oder bearbeitete Revision
string | Intern definierte von Menschen lesbare Nachricht.
loggedaction | In Subversion definierte Zeichen für Aktionen (A,M,D)
loggedcopyfrompath | Wenn kopiert von welchem Pfad? (kann leer sein)
loggedcopyfromrevision | Wenn kopiert von welcher Revision? (kann < 0 sein)
loggedpath | In welchen einzelnen Pfad die protokollierte Aktion des Eintrags gesetzt ist. Der Pfad wird auf die aufrufende URL gesetzt.
Vergleichsergebnisse | Eine Zeile mit Ausgabe des Unterschieds

## &kdesvn; auf der Befehlszeile verwenden

### Überblick

Einige Operationen für Subversion können auf der Befehlszeile ⪚ wie in einer normalen Konsole eingegeben werden, die Interaktion mit dem Benutzer findet aber über die grafische Oberfläche statt. Die normale Syntax lautet `kdesvn exec `command` `parameter` `url``.

Wenn ein einzige Revision für eine einzige &URL; gewünscht wird, kann sie als Parameter der &URL; angegeben werden:

    svn://your-server/path-to-repository/item?rev=<your-rev>

Dies überschreibt die Option `-r <rev>`.

Eine Revision kann als Zahl, als `HEAD`, als `BASE` oder als Datumformat wie {YYYY-MM-DD} angegeben werden.

### Befehlsliste

Wenn in der folgenden Übersicht als möglicher Parameter `-r `revision`` angegeben ist, kann diese Revision als ``url`?rev=`the-revision`` angegeben werden.

### Subversion-Befehle

Befehl | Bedeutung | Akzeptierte Optionen
commit (oder ci) | Änderungen an Einträgen ins Projektarchiv einspielen |
log | Protokoll des Eintrags ausgeben | -r startrevision:endrevision -l limit_display
cat | Inhalt eines Eintrags anzeigen | -r revision
copy (oder cp) | Kopiert Einträge in einer Arbeitskopie oder einem Projektarchiv. Ist das Ziel nicht angegeben, wird es von &kdesvn; abgefragt. |
move (oder mv, rename) | Verschieben oder Umbenennen von Einträgen in einer Arbeitskopie oder einem Projektarchiv. Ist das Ziel nicht angegeben, wird es von &kdesvn; abgefragt. |
get | Inhalt von Einträgen holen und speichern. | -r revision -o <outputfile> (outputfile muss angegeben werden)
blame (oder annotate) | Anmerkungen zur Datei | -r startrevision:endrevision
update | Eintrag in Arbeitskopie aktualisieren | -r revision
Vergleich | Vergleich zweier Revisionen eines Eintrags oder Vergleich zweier Einträge einer angegebenen Revision | -r startrev:endrev
info | Detaillierte Informationen über den Eintrag | -r revision
checkout (oder co) | Auschecken eines Projektarchiv-Pfads in einen Ordner der neuen Arbeitskopie. Der Zielpfad und die Quellrevision werden abgefragt. |
checkoutto (oder coto) | Auschecken eines Projektarchiv-Pfads in einen Ordner der neuen Arbeitskopie. Der Unterschied zwischen dem Quellpfad und der Quellrevision wird abgefragt. |
export | Export eines Projektarchiv-Pfads oder eines Pfad einer Arbeitskopie in einen Ordner. Der Zielpfad und die Quell-Revision werden abgefragt. |
exportto | Export eines Projektarchiv-Pfads oder eines Pfad einer Arbeitskopie in einen Ordner. Der Quell-Pfad und die Quell-Revision werden abgefragt. |
delete (del, remove, rm) | Löscht URL(s) aus dem Archiv oder der Arbeitskopie. |
add | Fügt die &URL; zur Arbeitskopie hinzu. Die &URL; muss zu einer Arbeitskopie gehören, kein Import |
revert (oder undo) | Nimmt aktuelle Änderungen an der Arbeitskopie zurück. Kann nur mit URLs für Arbeitskopien benutzt werden |
checknew (oder addnew) | Überprüft die angegebene &URL; auf neue, nicht versionierte Einträge und fügt sie gegeben falls zur Arbeitskopie hinzu. |
tree | Zeigt den Revisionsbaum der Einträge (nur das erste Argument). Wird die &URL; mit ?rev=`xxx` angegeben, wird diese Revision angezeigt. | -r startrev:endrev
lock | Sperrt Url(s), wenn die Option `-f` angegeben ist, werden vorhandene Sperren aufgehoben. | -f
unlock | Entsperrt Url(s), wenn die Option `-f` ist, dann werden auch fremde Sperren aufgehoben oder nicht vorhandene Sperren werden ignoriert. | -f
help | Zeigt diese Seite an |

### Parameter für Subversion-Befehle

Parameter | Mögliche Werte | erlaubt für
`-r` | `revision` oder `startrev:endrev` | alle außer Einspielung
`-R` | (keine) | alle außer Einspielung
`-o` | `dateiname` | get
`-l` | `Zahl` | log
`-f` | (keine) | (Ent)Sperren

#### Der Befehl log

Der Befehl „log“ zeigt einen Dialog mit dem Protokoll zu der angegebenen &URL;. Mit Subversion 1.2 oder neuer kann ein Grenzwert angegeben werden, &ie; wie viele Einträge angezeigt werden sollen.

In diesem Dialog können Sie Protokolleinträge auswählen und sich die Unterschiede dazwischen anzeigen lassen.

##### Die letzten 20 Einspielprotokolle anzeigen

    kdesvn exec log -l 20 -r HEAD:1 myfile.c

Beachten Sie die Reihenfolge der Revision: Sie möchten von HEAD zu START für die letzten Einträge. Daher müssen Sie HEAD als Startpunkt angeben, ansonsten würden Sie die ersten 20 Einträge erhalten.

#### Der Befehl diff

Sie erhalten die Unterschiede zwischen Revisionen für einen Eintrag oder zwischen zwei Einträgen in derselben Arbeitskopie oder demselben Projektarchiv. Beim Abfragen des Unterschieds für einen Eintrag sollten die Revisionen als `-r `STARTREV`:`ENDREV`` angegeben werden. Beim Abfragen des Unterschieds für einen Eintrag in einer Arbeitskopie ohne Angabe von Revisionen wird der Unterschied zum Projektarchiv ausgegeben.

##### Gibt die Unterschiede zum Projektarchiv &ie; lokale Änderungen aus

    kdesvn exec diff myfile.c

##### Unterschied zwischen Revisionen ausgeben

    kdesvn exec diff -r 21:20 myfile.c

Bei der Anzeige von Unterschieden zwischen den Revisionen zweier Einträge kann zur &URL; der Einträge angefügt werden, ⪚:

    http://server/path/item?rev=HEAD

##### Vergleich zweier markierter Versionen

    kdesvn exec diff http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_2 http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_3

## Einstellungen

Einstellungen können im Einrichtungsdialog geändert werden. Der Dialog besteht aus mehreren Seiten.

### Allgemein

Größe der Symbole in der Listenansicht | Die Größe der Symbole in der Hauptlistenansicht
Datei-Infos anzeigen | Ob Kurzinfos beim Überfahren eines Eintrags mit dem Mauszeiger angezeigt werden
Eintragsstatus mit überlagerten Symbolen markieren | Wenn ein Eintrag nicht im normalen zustand von Subversion ist, kann ein Symbol eingeblendet werden. Siehe overlay-meaning.
Sortierreihenfolge beachtet Groß-/Kleinschreibung | Ob beim Sortieren im Hauptfenster die Groß- und Kleinschreibung berücksichtigt wird, &ie; ob a gleich A ist.
Ignorierte Dateien anzeigen | Einträge anzeigen, die in Subversion als ignoriert markiert sind.
Maximale Anzahl der Protokollnachrichten im Verlauf | Anzahl der Protokollnachrichten, die in &kdesvn; behalten werden.
Farbige Anmerkungen anzeigen | Verwendet die Farben für Anmerkungen, die im Einrichtungsdialog eingestellt wurden.
Navigations-Bereich anzeigen | Schaltet die Anzeige der Baumansicht des Projektarchivs ein und aus.

### Einstellungen für Subversion und zeitgesteuerte Aufgaben

### Subversion

Update-Überprüfung beim Öffnen einer Arbeitskopie starten | Beim Öffnen einer Arbeitskopie wird eine Überprüfung auf Aktualisierungen im Hintergrund gestartet
Log-Zwischenspeicher nach dem Öffnen füllen | Ist dies aktiv, startet &kdesvn; das Füllen des Protokoll-Zwischenspeichers, wenn ein Projektarchiv oder eine Arbeitskopie geöffnet wird und die Projektarchiv-&URL; nicht lokal zugewiesen ist (`file://`)
Prüfen ob Eintrag die Eigenschaft svn::needs-lock gesetzt hat | Prüft in Arbeitskopien, ob ein Eintrag diese Eigenschaft hat. Wenn ja, wird ein besonderes Symbol angezeigt. Mit dieser Einstellung kann das Auflisten sehr langsam werden.
Details bei Fernabfragen holen | Wenn aktiviert, holt &kdesvn; detailliertere Informationen über Dateieinträge beim Auflisten in entfernten Projektarchiven. So können Sie Sperren in der Übersicht erkennen. Seien Sie vorsichtig: Dies kann das Auflisten sehr langsam werden lassen.
Eintragsinformationen rekursiv holen | Ist dies aktiviert, wird der Befehl `info` für Ordner Informationen über alle untergeordneten Einträge anzeigen, auch wenn das langsam ist.
Passwörter für entfernte Verbindungen speichern | Das Speichern von Passwörtern ist oft ein Sicherheitsproblem. Subversion speichert sein Passwörter in einer einfachen Datei. Seien Sie also vorsichtig bei dieser Einstellung und lesen Sie auch den nächsten Eintrag. Wenn Passwörter in der Voreinstellung gespeichert werden, können Sie dies für besondere Anforderungen eines Anmeldungsdialogs ändern.
Passwörter in der KDE-Passwortverwaltung speichern | Beim Speichern von Passwörter ist die Klartextdatei von Subversion ein Sicherheitsrisiko. &kdesvn; kann seit Version 0.12.0 Passwörter stattdessen im verschlüsselten &kde;-Passwortspeicher ablegen und diesen zu verwenden. Andererseits können andere Subversion-Programme benutzt werden, die den Passwortspeicher nicht lesen können. Daher müssen Sie in diesen Fällen die Passwörter wieder eingeben, wenn Sie Programme wie svn oder rapidsvn benutzen. Solange Subversion Passwörter nicht verschlüsselt speichert, sollten Sie hier vorsichtig sein.
Internen Passwort-Zwischenspeicher verwenden | Wenn ein Passwort nicht dauerhaft gesperrt ist, kann &kdesvn; das Passwort bis zum Ende des Programms im Speicher halten. Dann müssen Sie es nicht wieder für jede einzelne Operation neu eingeben. Dieser Zwischenspeicher ist nie dauerhaft, &ie; das Passwort wird nirgends gespeichert.
Protokolle folgen Knotenänderungen | Ist dies aktiviert, folgen die Protokolle Kopieroperationen.
Protokolle lesen immer die Liste der geänderten Einträge | Mit dem Befehl „log“ können Sie eine Liste geänderter Dateien in Einspielungen lesen. Dies ist nützlich und n den meisten Fällen wird nicht wirklich viel mehr Netzwerkverkehr erzeugt.
Einträge vor dem Einspielen überprüfen | Beim Einspielen überprüft &kdesvn; was ausgeführt werden muss. Wenn sich zum Beispiel nicht versionierte Einträge unterhalb dieses Elements befinden, die hinzugefügt werden sollen, werden die Einträge in der Liste geändert und mit der aktuellen Operation eingespielt. Abhängig vom Revisionsbaum kann dies mehr oder weniger aufwändig sein.
Neue Einträge in Übertragungsdialog ausblenden | Sollen nicht versionierte Einträge im Übertragungsdialog angezeigt werden oder nicht.
Aktualisieren führt zu Änderung anstatt von Konflikten | Ist dies aktiviert, führt das lokale Hinzufügen im gleichen Pfad wie eine eingehende Hinzufügen der gleichen Knotenart zu einem normalen Knoten mit einer möglichen lokalen Änderung, anstatt zu einem Baumkonflikt.
Aktualisierung erstellt fehlende übergeordnete Einträge | Ist dies aktiviert, werden auch mit der Option „depth=empty“ alle nicht vorhandenen übergeordneten Ordner beim Auschecken erstellt

### Zeitlich festgelegte Aufträge

Auf bearbeitete Einträge prüfen alle N Sekunden Auf aktualisierte Einträge prüfen alle N Sekunden | Wenn aktiviert, wird regelmäßig auf Aktualisierungen oder Änderungen in der Arbeitskopie geprüft, falls das Netzwerk aktiviert wurde

### Vergleichen & Zusammenführen

Vergleich ignoriert den Inhaltstyp

- Nur wichtig, wenn der Vergleich von Subversion selbst durchgeführt wird. Ist dies aktiviert, ignoriert Subversion beim Vergleichen den Inhaltstyp von Einträgen. Anderenfalls werden keine Vergleiche von binären Dateien durchgeführt.

Vergleich im Revisionsbaum ist rekursiv

- Ist dies aktiviert, werden Vergleiche in der Revisionsbaum-Ansicht rekursiv (wie in allen anderen Fällen auch) durchgeführt. Anderenfalls werden nur Änderungen an Einträgen in diesem Ordner angezeigt. Abhängig von Ihren Einstellungen wird der Vergleich von Subversion selbst oder mittels externer Programme durchgeführt.

Vergleich ignoriert Änderungen der Leerzeichen

- Ignoriert Änderungen bei der Anzahl von Leerzeichen (Einstellung `-b` für diff)

Vergleich ignoriert alle Leerzeichen

- Ignoriert alle Leerzeichen (Option `-w` für diff)

Externes Zusammenführen bevorzugen

- Dies sollte aktiviert werden, falls das Zusammenführen mit einem externen Programm bevorzugt wird und nicht durch Subversion ausgeführt werden soll

Vergleichsformat von Git verwenden

Kopien als hinzugefügt anzeigen

#### Externe Vergleichsanzeige verwenden

Wählt eine externe Anwendung zur Anzeige von Unterschieden. Voreinstellung ist &kompare;.

#### Externe Vergleichsanzeige

Definiert, welches externe Programm &kdesvn; für die Anzeige von Unterschieden verwenden soll und wie das Programm aufgerufen wird. Es gibt hier drei Möglichkeiten:

<program> <parameter>

- Subversion sucht nach Unterschieden und leitet sie direkt in die Standardeingabe des externen Programms, &ie; es werden keine temporären Dateien benötigt.

<program> <parameter> %f

- Subversion sucht nach Unterschieden und speichert sie in eine temporäre Datei. Der Parameter `%f` wird durch deren Dateinamen ersetzt. Dies kann zum Beispiel in einem einfachen Aufruf von less oder einem Textbetrachter benutzt werden.

<program> <parameter> %1 %2

- &kdesvn; benutzt das externe Programm für die Suche nach Unterschieden. %1 und %2 wird mit den erforderlichen Werten, Dateinamen oder Ordnernamen, ersetzt. &kdesvn; speichert den Inhalt zum Vergleichen in einer temporären Umgebung (bei Ordnern wird ein export, bei einer einzelnen Datei wird ein cat ausgeführt), wenn erforderlich und räumt nach dem Schließen des externen Programms oder dem eigenen Schließen auf.

Externes Zusammenführen bevorzugen

- Aktivieren Sie dies, wenn im Dialog zum Zusammenführen als Voreinstellung Externes Zusammenführen verwenden angekreuzt sein soll.

#### Externes Programm zum Zusammenführen

Einstellungen des Programms und der Optionen, wenn das Interne Zusammenführen von Subversion nicht verwendet wird. Die Voreinstellung ist `kdiff3 %s1 %s2 %t`. Die Reihenfolge der ersetzen Variablen ist unwichtig und Variablen können auch mehrfach verwendet werden, ⪚ wie `kdiff3 -o %t %s1 %s2 %t`. Diese Funktion wurde nur mit meld und &kdiff3; getestet. Bedenken Sie, dass externe Programme nichts über den Parameter `ignore` von Subversion wissen, so dass dann viel mehr als erwartet angezeigt wird.

##### Variablenersetzung für externe Programme zum Zusammenführen

%s1

- Wird durch die Quelle Nummer 1 ersetzt.

%s2

- Wird durch die Quelle Nummer 2 ersetzt. Wenn dies leer ist oder dies wie die Quelle Nummer 1 ist und Start- und Endrevision gleich sind, wird diese Variable ausgelassen. Seien Sie daher vorsichtig bei Befehlen wie `xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t`.

%t

- Ersetzt durch das Ziel.

#### Programm zur Konfliktlösung

Sie können ein externes Programm wie &kdiff3; zur Auflösung von Konflikten benutzen, der Standard Befehl lautet `kdiff3 %o %m %n -o %t`.

##### Variablenersetzung für externe Programme zur Konfliktlösung

In Klammern wird nach jeder Beschreibung ein Beispiel genannt, wie die Dateien in Subversion genannt werden. Diese Optionen wurden für &kdiff3; entwickelt, weil es zurzeit das einzige Programm ist, das alle Parameter unterstützt, die für eine erfolgreiche Konfliktlösung erforderlich ist.

%o oder %l

- Alte (lokale, linke) Version. Dies bedeutet die niedriger Revisionsnummer, &ie; den Startpunkt von Änderungen im Konflikt. (`foo.cc.r2`)

%m oder %w

- Meine (Arbeits-)Version der datei, &ie; was Sie gegenüber der alten Version geändert haben. (`foo.cc.mine`)

%n oder %r

- Neue (entfernte, rechte) Version der Datei. Zum Beispiel die Version, die jemand anders erstellt hat. (`foo.cc.r3`)

%t

- Zielname, ⪚ der ursprüngliche Name. Für &kdiff3; zum Beispiel ist dies der Name nach dem Parameter `-o` (=Ausgabedatei), `foo.cc`.

### KIO / Befehlszeile

Nach dem Ausführen eines Befehls Protokoll anzeigen

- Öffnet einen Dialog mit dem Protokoll des letzten Subversions-Befehls, wenn er über die Befehlszeile oder aus dem Aktionsmenü von &konqueror; ausgeführt wird.

Minimale Anzahl anzuzeigender Protokoll-Zeilen

- Wenn Protokoll anzeigen … eingestellt ist, ist dies die Mindestanzahl an Zeilen, ehe der Dialog angezeigt wird. Sie sollten dies so einstellen, dass das Fenster nur dann angezeigt wird, wenn eine interessante Ausgabe generiert wurde wie zum Beispiel ein Protokoll vom Einspielen.

Kein Kontextmenü in der KDE-Dateiverwaltung anzeigen;

- Ist dies aktiviert, wird kein Menüeintrag für &kdesvn; in &konqueror; angezeigt.

Keine Einträge im obersten "Aktionen"-Kontextmenü anzeigen

- Wenn aktiviert, wird kdesvn kein Untermenü innerhalb des Aktionen-Menüs von &konqueror; oder &dolphin; anzeigen.

KIO-Operationen verwenden eine Standard-Protokollnachricht

- Wenn Operationen für ein Projektarchiv mit dem &kdesvn;-KIO-Protokoll von &konqueror; aus (&ie;, ksvn+... -Protokoll) ausgeführt werden, würde &kdesvn; bei großen Operationen wie Kopieren oder Verschieben von Ordnern nach einer Protokollmeldung für jeden einzelnen Eintrag fragen. Dies ist das Verhalten von &konqueror;. Ist diese Einstellung aktiv, wird die KIO-Implementation von &kdesvn; eine Standard-Protokollmeldung benutzen. Diese Einstellung wird nicht für Operationen aus dem &kdesvn;-Aktionsmenü für &konqueror; benutzt, aber nur für copy/move/mkdir/delete ausgeführt mit &konqueror; oder anderen Dateiverwaltungen an einer KIO-url.

Standardmeldung

- Die Meldung, die das &kdesvn;-Ein-/Ausgabemodul bei Aktionen von &konqueror; aus verwendet, wenn die oben genannte Einstellung aktiviert ist. Die Voreinstellung ist Revision made with &kdesvn; KIO.

Ein-/Ausgabemodul kann überschreiben

- Falls dies aktiviert ist, haben Sie eine einfache Schreibunterstützung für bestehende Eintrage. Sie können ⪚, Dateien im Editor öffnen und direkt ohne vorheriges Auslesen speichern (&kdesvn; macht dies im Hintergrund).

  Nutzen Sie das nur wenn Sie sich sicher sind, welche Auswirkungen die Aktionen haben

Ein-/Ausgabemodul zeigt Fortschrittsmeldungen an

- Ist dies aktiviert, werden ausführliche Nachrichten des Ein-/Ausgabemodul über den aktuellen Vorgang in den Plasma-Benachrichtigungen angezeigt. Fehlermeldungen des Ein-/Ausgabemoduls werden immer angezeigt und können nicht abgeschaltet werden.

## Befehlsreferenz

### Das Hauptfenster von &kdesvn;

#### Das Menü Datei

&Ctrl;O Datei Öffnen

- Öffnet eine lokale Arbeitskopie oder ein vorher ausgechecktes Projektarchiv.

Datei Zuletzt geöffnete URLs

- In diesem Untermenü finden Sie die zuletzt geöffneten Projektarchive oder lokalen Arbeitskopien. Klicken Sie auf einen Eintrag in der Liste, um ihn in &kdesvn; zu laden.

&Ctrl;N Datei Neu

- Öffnet ein Fenster mit einer neuen Instanz von &kdesvn;

Datei Subversion-Admin

- Menüeinträge mit Verwaltungsaufgaben für ein Subversion-Projektarchiv wie:

  - Neues Projektarchiv erstellen oder öffnen
  - Auszugsdatei eines Projektarchivs erstellen
  - Hotcopy eines Projektarchivs
  - Auszug in ein Projektarchiv laden
  Weitere Informationen finden Sie in der Ausgabe von `svnadmin --help`

&Ctrl;W Datei Schließen

- Schließt das gerade geöffnete Projektarchiv oder die Arbeitskopie

&Ctrl;Q Datei Beenden

- Beendet &kdesvn;

#### Das Menü Lesezeichen

Informationen dazu finden Sie im Handbuch zu &konqueror;.

#### Das Menü Subversion

#### Allgemeine Aktionen für Subversion

&Ctrl;L Subversion Allgemein Verlauf des Eintrags

- Zeigt das Protokoll des Verlaufs für den gerade ausgewählten Eintrag. Dies kann eine lange Liste werden.

&Ctrl; &Shift;L Subversion Allgemein Verlauf des Eintrags ohne Kopien

- Zeigt den Verlauf des ausgewählten Eintrages ohne Kopien zu folgen.

&Ctrl;I Subversion Allgemein Details

- Zeigt ausführliche Informationen über die ausgewählten Einträge an

Subversion Allgemein Nachforschen

- Eine Liste der Anmerkungen für alle Einspielungen, Dies kann viel Zeit benötigen.

Subversion Allgemein Bereich zum Nachforschen

- Anmerkungen für einen Bereich von Einspielungen für eine Datei.

Subversion Allgemein HEAD ausgeben

- Zeigt den Inhalt der letzten eingespielten Version des Eintrags, Dies kann sich von der aktuell bearbeiteten Arbeitskopie unterscheiden.

F2 Subversion Allgemein Verschieben

- Eintrag in einer Arbeitskopie oder in einem Projektarchiv verschieben oder umbenennen

&Ctrl;C Subversion Allgemein Kopieren

- Kopiert einen Eintrag in einer Arbeitskopie oder einem Projektarchiv

Entf Subversion Allgemein Ausgewählte Dateien/Ordner löschen

- Löscht ausgewählte Einträge. Arbeiten Sie in einer Arbeitskopie, müssen Sie das Löschen hinterher einspielen.

Subversion Allgemein Neuer Ordner

- Erstellt einen neuen Ordner.

Subversion Allgemein Ordner in aktuellen Ordner importieren

- Auswahl von Ordnern, die Sie in den aktuell ausgewählten Ordner importieren möchten.

Subversion Allgemein Ein Projektarchiv auschecken

- Erstellt eine neue Arbeitskopie eines Projektarchivs

Subversion Allgemein Ein Projektarchiv exportieren

- Exportiert ein Projektarchiv in ein Dateisystem, &ie; erstellt einen aufgeräumten Revisionsbaum ohne Subversion-Informationen.

Subversion Allgemein Aktuelle Einträge sperren

- Markiert den aktuellen Eintrag als gesperrt. Lesen Sie das Handbuch zu Subversion, ehe Sie diese Funktion benutzen.

Subversion Allgemein Aktuelle Einträge entsperren

- Entfernt Sperren von aktuellen Einträgen. Lesen Sie das Handbuch zu Subversion, ehe Sie diese Funktion benutzen.

#### Arbeitskopie

Subversion Arbeitskopie Auf HEAD-Revision aktualisieren

- Aktualisiert die Arbeitskopie auf die neueste Version (HEAD) des Projektarchivs

Subversion Arbeitskopie Auf Revision aktualisieren …

- Aktualisiert die Arbeitskopie auf eine bestimmte Version des Projektarchivs

&Ctrl;# Subversion Arbeitskopie Einspielen

- Spielt Änderungen in der Arbeitskopie für ausgewählte Einträge in das Projektarchiv ein.

&Ctrl;D Subversion Arbeitskopie Lokale Änderungen anzeigen

- Zeigt die lokalen Änderungen als Vergleichsausgabe ohne Netzwerkzugriff. Dies ist nur der Unterschied zum letzten aktualisierten Stand der Arbeitskopie, nicht zur Version im Projektarchiv.

&Ctrl;H Subversion Arbeitskopie Unterschied zu HEAD

- Zeigt die Unterschiede der Arbeitskopie zu HEAD im Projektarchiv.

&Ctrl;P Subversion Arbeitskopie Eigenschaften

- Anzeige und Bearbeitung der Eigenschaften des aktuellen Eintrags.

Einfg Subversion Arbeitskopie Ausgewählte Dateien/Ordner hinzufügen

- Fügt die ausgewählten Dateien oder Ordner zur Versionskontrolle hinzu.

Subversion Arbeitskopie Aktuelle Änderungen zurücknehmen

- Nimmt alle Änderungen in der Arbeitskopie zurück und stellt den letzten aktualisierten Stand wieder her.

Subversion Arbeitskopie Als gelöst markieren

- Entfernt die Konflikt-Markierung von Einträgen und ebenfalls die zugehörigen Dateien.

Subversion Arbeitskopie Zwei Revisionen zusammenführen

- Führt zwei Versionen von Einträgen in die Arbeitskopie zusammen.

Subversion Arbeitskopie Aktuelle Einträge ignorieren/nicht ignorieren

- Bearbeitet die Eigenschaft des übergeordneten Ordners des aktuellen Eintrags, so dass der ausgewählte Eintrag als ignoriert markiert wird, wenn dies noch nicht gesetzt war. Ansonsten wird eine vorhandene Markierung zum Ignorieren entfernt.

Subversion Arbeitskopie Aufräumen

- Räumt die Arbeitskopie auf und entfernt eventuell vorhanden Sperren.

Subversion Arbeitskopie Projektarchiv wechseln

- Wechselt die Basis der aktuellen Arbeitskopie.

#### Projektarchiv

Subversion Projektarchiv Aktuellen Projektarchiv-Pfad auschecken

- Erstellt eine Arbeitskopie aus dem aktuell ausgewählten Eintrag, wenn es sich um einen Ordner handelt.

Subversion Projektarchiv Aktuellen Projektarchiv-Pfad exportieren

- Erstellt eine aufgeräumte Arbeitskopie auf dem lokalen Dateisystem aus dem aktuell ausgewählten Eintrag, wenn es sich um einen Ordner handelt.

#### Ansichtsaktionen

F5 Subversion Ansicht Ansicht aktualisieren

- Aktualisiert den aktuellen Status aller angezeigten Einträge. Dies zeigt für jeden angefragten Eintrag den aktuellen Status an.

Subversion Ansicht Dateibaum ausklappen / Dateibaum einklappen

- Baumansicht des Projektarchivs ein- bzw. ausklappen

Subversion Protokoll-Zwischenspeicher Aktualisierung des Protokoll-Zwischenspeichers abbrechen

- Das Protokoll wird zwischengespeichert und zur Anzeige des Revisionsbaums eines Projektarchivs benutzt. Abhängig von der Internetverbindung, der Größe des Subversion-Projektarchivs, und der Größe des Verlaufs kann diese Aktion länger dauern. Daher können Sie mit dieser Aktion die Aktualisierung abbrechen.

Subversion SSH-Identitäten zum SSH-Agenten hinzufügen

- Speichert Ihr Passwort für den SSH-Schlüssel für die aktuelle Sitzung, dann müssen Sie Ihr Passwort nicht dauernd eingeben.

#### Das Menü Datenbank

Datenbank Inhalt der Datenbank anzeigen

- Zeigt eine Übersicht des zwischengespeicherten Inhalt der Datenbank für bekannte Projektarchive. Der Zwischenspeicher oder das Projektarchiv können gelöscht und die Einstellungen eines Projektarchivs können geändert werden.

Datenbank Einstellungen für das aktuelle Projektarchiv

- Zeigt einen Dialog mit Einstellungen für den Zwischenspeicher, Protokolle und Statistiken.

#### Die Menüs Einstellungen und Hilfe

Außer den bekannten &kde;-Menüeinträge Einstellungen und Hilfe, die in den Abschnitten zu den Menüs Einstellungen und Hilfe in den &kde;-Grundlagen beschrieben werden, gibt es für &kdesvn; noch einen zusätzlichen Eintrag:

Einstellungen Schnelleinstellungen

- Zuletzt geöffnete URL beim Starten öffnen

- Zuletzt geöffnete URL erneut laden, wenn keine andere auf der Befehlszeile angegeben wurde..

Protokolle folgen Knotenänderungen

Ignorierte Dateien anzeigen

- Zeigt Einträge, die in Subversion als ignoriert markiert sind.

Unbekannte Dateien anzeigen

- Dateien anzeigen, die nicht zum Subversion-Projektarchiv hinzugefügt wurden.

Unveränderte Dateien ausblenden

- Benutzen Sie diese Aktion, um nur geänderte Dateien anzuzeigen, so dass eine einfache und kurzgefasste Übersicht entsteht.

Online arbeiten

- Wenn Sie Offline arbeiten, dann wird der Protokollzwischenspeicher nicht aktualisiert, daher kann das zwischengespeicherte Protokoll vom tatsächlichen Protokoll abweichen.

## Danksagungen, Mitwirkende und Lizenz

Programm Copyright 2005-2009 &Rajko.Albrecht; &Rajko.Albrecht.mail;

Vielen Dank an diese Mitwirkenden:

- Andreas Richter ar@oszine.de - für die Portierung von svnqt zu Qt4

- Michael Biebl biebl@teco.edu - viele Hilfen, Ideen, Implementation and Hinweise.

- Bram Schoenmakers bramschoenmakers@kde.nl - für Hinweise zu &kde;, Niederländische Übersetzung, Aufräumen des Quelltexts.

Vielen Dank an alle Übersetzer, auch für Ihre negativen und positiven Rückmeldungen.

Möchten Sie die der Übersetzung von &kdesvn; mit helfen, lesen Sie die &kde;-Lokalisierungsseite oder fragen Sie auf der kde-i18n-doc@kde.org Mailingliste.

Dokumentation Copyright 2005-2006 &Rajko.Albrecht; &Rajko.Albrecht.mail;

Übersetzung Burkhard Lück lueck@hube-lueck.de

&underFDL; &underGPL;

## Syntax für Revisionen

Revisionen können in der gleichen Form wie beim normalen svn-Programm angegeben werden, also Nummer, Schlüsselwort oder Datum

Nummer

- Eine Nummer größer oder gleich -1. -1 bedeutet nicht spezifizierte Revision, 0 ist die erste Revision. Normalerweise sollten Sie dies nicht benutzen, da die meisten Operationen damit fehlschlagen.

Schlüsselwort

- Eins von

  - HEAD

  - BASE

  - COMMITED

  - PREV

  - START

  - WORKING

  Bei den Schlüsselwörten wird die Groß-/Kleinschreibung beachtet, „head“ ist nicht das gleiche wie „HEAD“.

Datum

- Datum im Format {YYYY-MM-DD}. Es muss MM oder DD benutzt werden, ⪚ für 2005-1-1 muss {2005-01-01} angegeben werden.

Das Anhängen einer bestimmten Revision wird immer mit ?rev=`revision` ausgeführt.

&documentation.index;