TortoiseSVN Logo

Häufig gestellte Fragen

Inhaltsverzeichnis

Installation & Upgrade:

Overlay icons:

General questions:

Wie kann ich...

Fehlermeldungen


Installation & Upgrade:

Muss TortoiseSVN zuerst deinstalliert werden bevor eine neue Version installiert wird?

Nein. Die neue Version kann installiert werden auch wenn eine alte Version bereits installiert ist. Der Installer deinstalliert eine alte Version automatisch. Nur wenn der Installer einen Neustart fordert muss dieser auch durchgeführt werden da ansonsten die neue Version nicht richtig verwendet werden kann.

Sind Administrator-Rechte notwendig um TortoiseSVN zu installieren?

Ja, Administratorrechte sind zwingend erforderlich um TortoiseSVN zu installieren.

Nachdem TortoiseSVN installiert ist, sind Administratorrechte nicht mehr erforderlich um es zu benutzen. TortoiseSVN kann mit normalen Nutzerrechten ausgeführt und benutzt werden.

Muss erst Subversion installiert werden?

Nein. TortoiseSVN enthält alles was notwendig ist. Es muss nicht noch Subversion separat installiert werden. Nur für die Installation eines Subversion Servers sind zusätzliche Tools notwendig.

Wie kann TortoiseSVN deinstalliert werden?

TortoiseSVN kann über die Windows Systemsteuerung deinstalliert werden. Deinstallation von TortoiseSVN entfernt nicht die Arbeitskopien oder Daten.

MSI Installationen sind auf dem Rechner deaktiviert. Gibt es einen .exe Installer?

Ein .exe Installer würde in diesem Fall nicht helfen. Wenn MSI wirklich deaktiviert ist, dann sind auch Administratorrechte nicht vorhanden und TortoiseSVN kann dann nicht installiert werden (Shell-Erweiterungen erforden zwingend Admin-Rechte zur Installation).

Warum wird MSI verwendet anstatt einem exe Installer oder gar keinem Installer?

Dafür gibt es mehrere Gründe:

  • Es ist offen. Jeder kann nachsehen was der Installer macht mit Tools wie Orca (Teil des Windows-SDK).
  • Ein MSI kann von Administratoren angepasst werden für spezielle Bedürfnisse. Dies wäre mit einem .exe Installer nicht möglich.
  • MSI wird mit SYSTEM Rechten ausgeführt, nicht nur mit ADMIN Rechten. Dies ist wichtig da TortoiseSVN eine Shell-Erweiterung ist und spezielle Rechte benötigt für die entsprechenden Einträge in der Registry. Dies ist besonders Wichtig wenn UAC aktiviert ist.
  • Ein MSI kann sehr einfach auf mehreren Computern installiert werden via Domänencontroller und GPOs.
  • MSI ist Standard und Empfohlen für Installationen. Und es ist sogar zwingend für Programme welche das "Zertifiziert für Vista" Logo erhalten wollen.
  • Es gibt ein tolles Open-Source Tool um MSI Installer zu erstellen: WiX, was wir auch benutzen.
  • MSI übernimmt das Zählen der Referenzen, was hilft um die sogenannte Dll Konflikte zu vermeiden.
  • Ein Installer ist zwingend erforderlich, da Shell-Erweiterungen im System Registriert werden müssen. Einfach das Programm starten würde nicht funktionieren.

Die Installation bricht mit einer Fehlermeldung ab

Es gibt mehrere Gründe warum eine Installation nicht erfolgreich durchläuft:

  • "This installation package is not supported by this processor type. Contact your product vendor." Dies bedeutet dass die 64-bit Version von TortoiseSVN auf einem 32-bit Betriebssystem installiert wird. Für ein 32-bit Betriebssystem muss die 32-bit Version von TortoiseSVN installiert werden. Der 32-bit Installer von TortoiseSVN hat nicht ein 'x64' im Dateinamen!
  • "The installer was interrupted before TortoiseSVN could be installed. You need to restart the installer to try again" Der Account SYSTEM hat keine Lese/Ausführrechte für den Ordner, wo der MSI Installer liegt. Entweder verschieben Sie die MSI Datei an einen anderen Ort und versuchen Sie die Installation erneut, oder fügen Sie den Account SYSTEM mit Lese- und Ausführrechten dem Ordner hinzu.
  • "The Windows installer service could not be accessed" Dies kann vorkommen wenn Windows im abgesicherten Modus ausgeführt wird oder der Installer-Service selbst nicht korrekt installiert ist. Kurz: Der Ordner wo die MSI-Datei liegt darf nicht komprimiert oder verschlüsselt sein.
  • "The system can not open the device of file specified", normalerweise gefolgt von "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2755". Dies kann auftreten wenn:
    • Die Installation hat keinen Zugriff auf das Temp-Verzeichnis oder wenn das Standard Temp-Verzeichnis des Computers nicht genug Platz hat.
    • Die Installation wird über einen Terminalserver oder ein Netzlaufwerk ausgeführt.
    • Die Installation hat keine Schreibrechte auf das Installationsverzeichnis von Windows.
    • Das Temp-Verzeichnis oder die MSI-Datei ist verschlüsselt/komprimiert.
    Um dises Problem zu lösen, Verschieben Sie die MSI Datei auf ein lokales Laufwerk wo der Account SYSTEM volle Rechte hat, und räumen Sie das Temp-Verzeichnis auf.

Overlay icons

Nach einem Update von TortoiseSVN, werden die Overlay-Icons nicht mehr angezeigt

Dies ist ein bekanntes Problem bei Upgrades von Version 1.6.8 oder älter. Wenn dies Auftritt, muss eine Reparatur-Installation und ein Neustart durchgeführt werden.

Falls dies nicht hilft, sind diese Antworten hilfreich:

Warum werden die Overlay-Icons nicht angezeigt?

  • Haben Sie den Computer neu gestartet nach der Installation? Falls nicht, tun Sie dies jetzt. TortoiseSVN ist eine Shell-Erweiterung und wird mit dem Windows Desktop gestartet.
  • Im Einstellungs-Dialog müssen die Overlay-Icons mindestens für lokale Laufwerke aktiviert werden.

Die Overlay-Icons werden angezeigt, aber nicht alle!

Es kann sein, dass nicht alle Overlay-Icons genutzt werden können. Dies deshalb weil Windows ein Limit von 15 Overlay-Icons hat. Windows selbst benutzt 4 von diesen 15 Overlay-Icons, was 11 übrig lässt für andere Programme. Wenn mehrere Programme Overlay-Icons einsetzen dann sind nicht genug Overlay-Icons vorhanden um alle anzuzeigen. TortoiseSVN versucht in diesem Falle nicht alle Overlay-Icons zu benutzen um anderen Programmen eine Chance zu geben.

  • Normal, Verändert und in-Konflikt werden immer verwendet und angezeigt.
  • Gelöscht wird geladen falls möglich, wird aber als Verändert angezeigt falls nicht genug Overlay-Icons übrig sind.
  • Schreibgeschützt wird geladen falls möglich, wird aber als Normal angezeigt falls nicht genug Overlay-Icons übrig sind.
  • Gesperrt wird geladen falls möglich, wird aber als Normal angezeigt falls nicht genug Overlay-Icons übrig sind.
  • Hinzugefügt wird geladen falls möglich, wird aber als Verändert angezeigt falls nicht genug Overlay-Icons übrig sind.

Sie können überprüfen welche anderen Programme Overlay-Icons verwenden indem Sie den folgenden Registry-Key in regedit.exe anzeigen: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Bekannte Programme, welche ebenfalls Overlay-Icons benutzen:

  • Windows selbst. Vista und Windows 7 benutzen einen mehr als XP
  • Dropbox
  • Microsoft Groove (Teil von Office 2007/2010)

Warum sind die Overlay-Icons nur auf lokalen Datenträgern angezeigt und nicht auf Netzwerk-Laufwerken?

Im Einstellungs-Dialog -> Überlagerte Symbole müssen die Laufwerkstypen aktiviert werden auf welchen Arbeitskopien abgelegt sind. Beachten Sie aber dass wenn Sie die Symbole für Netzlaufwerke aktivieren dies den Computer stark verlangsamen kann.

Warum werden die Overlays auf mit SUBST erstellten Laufwerken nicht korrekt angezeigt?

Wenn eine Arbeitskopie auf einem SUBST Laufwerk liegt können die Symbole durcheinander geraten.

Das Problem entsteht dadurch dass der Symbolcache den SVN Status für zwei unterschiedliche Pfade gleichzeitig lesen muss, das Betriebssystem bei Änderungen nur für einen Pfad eine Änderungsmeldung ausgibt.

Um das Problem zu lösen muss einer der Pfade (das SUBST-Laufwerk oder der OriginalPfad) in die Liste der ausgeschlossenen Pfade aufgenommen werden: Einstellungs-Dialog -> Überlagerte Symbole -> Pfade ausschliessen.

Zum Beispiel, wenn \\station\Ordner\AK auf G: verbunden ist, dann muss "\\station\Ordner\AK*" als ausgeschlossener Pfad angegeben werden.

Eine andere Möglichkeit ist, den Statuscache auf "Shell" zu setzen statt auf "Default".

Warum zeigen die Overlays einen falschen Status?

Manchmal zeigen die Symbole nicht den korrekten Status der Dateien und/oder Ordner an. Normalerweise hilft ein Aktualisieren der Explorer-Ansicht (F5 drücken).

Die Baumansicht auf der linken Seite des Explorers ist ein ganz anderes Problem. Dort werden die Symbole nicht aktualisiert egal wie oft F5 gedrückt wird. Dies ist ein Problem des Explorers und kann von TortoiseSVN nicht beeinflusst werden.

Eine kurze Erklärung: Die Baumansicht im Explorer zeigt immer den ganzen Dateibaum, einschliesslich der Netzlaufwerke welche sehr langsame Zugriffszeiten aufweisen. Deswegen fragt der Explorer Shell-Erweiterungen wie TortoiseSVN nicht immer nach den Overlay-Symbolen. Sogar wenn der Explorer hingewiesen wird dass ein Ordner oder Datei geändert wurde und die Symbole aktualisiert werden sollten, macht der Explorer dies nicht immer. Der Explorer überprüft in diesem Falle selber, ob die Datei oder der Ordner wirklich verändert wurde und aktualisiert die Symbole nur, wenn er selber denkt dass die Datei/Ordner sich geändert hat.

Der Subversion-Status hat jedoch nicht viel mit einem Ordner oder Datei selber zu tun sondern hängt ab von Metadaten, welche in den versteckten .svn Unterordnern abgelegt sind. Wenn sich also die Metadaten ändern und nicht die Dateien/Ordner selbst, dann findet der Explorer dass die Symbole nicht aktualisert werden müssen.

Es gibt einige Tricks mit welchen man den Explorer dazu bringen kann die Baumansicht zu aktualisieren. Aber dies sind nur Tricks und funktionieren nicht immer.

Es gibt einen Trick welcher sehr gut funktioniert. Dies ist jedoch sehr, sehr langsam weshalb TortoiseSVN diesen Trick nicht laufend anwenden kann - es würde das ganze System zu stark belasten. Sie können diesen Trick jedoch von Hand starten: Wenn Sie die Funktion "Arbeitskopie aufräumen" auf dem obersten Ordner einer Arbeitskopie ausführen, wird dieser Trick angewendet und die Symbole sollten im Explorer aktualisiert werden. Ab TortoiseSVN 1.7.0, "Arbeitskopie aufräumen" selbst führt diesen Trick nicht mehr aus. Um dies dennoch auszuführen muss "Aufräumen und Explorer aktualisieren" ausgeführt werden. Diese Befehl erscheint im Kontextmenu nur, wenn die Shift-Taste gedrückt gehalten wird beim Rechts-Klick.

Warum wechseln die Overlays manchmal zu zufälligen Icons?

Windows hat einen Icon-Cache, welcher nicht sehr stabil ist. Dieses Problem lässt sich folgendermassen lösen:

  • Erhöhen Sie die Grösse des Icon-Caches. Gehen Sie zu HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer und fügen Sie einen neuen String-Wert ein mit Namen Max Cached Icons. Der Default-Wert ist 500 - erhöhen Sie den Wert auf 2048.
  • Oder löschen Sie die Datei "ShellIconCache" im Windows-Verzeichnis und starten Sie den Rechner neu.
  • Mit TortoiseSVN 1.3.0 oder neuer können Sie auch TortoiseProc.exe ausführen: TortoiseProc.exe /command:rebuildiconcache

Warum gibt es kein Overlay-Icon für "Update vorhanden" oder "Gesperrt bei anderen"?

Um ein solches Symbol anzuzeigen müsste TortoiseSVN eine Verbindung zum Repository aufnehmen jedesmal wenn der Explorer das Symbol anzeigt. Dies wäre unbrauchbar langsam und würde das ganze System fast blockieren.

Wenn Sie wissen möchten welche Benutzer welche Dateien gesperrt haben oder welche Dateien im Repository verändert wurden, benutzen Sie den "Auf änderungen prüfen" Dialog und klicken Sie auf den "Projektarchiv prüfen" Button.

Overlay icons

100% CPU bei einem Rechts-Click auf eine Datei.

Bei jedem Rechts-Klick auf eine Datei, die CPU Nutzung steigt auf 100% während das Kontextmenu angezeigt wird. Sobald ein Eintrag aus dem Menu gewählt wird geht die CPU Nutzung wieder auf normale Werte zurück.

Windows XP hat einen bekannten Fehler welcher dieses Problem verursacht. Um diesen Fehler in Windows zu umgehen, müssen die folgenen Schritte ausgeführt werden:

  1. Starten Sie das Anzeige-Panel in der Systemsteuerung.
  2. Wählen Sie die Ansichts-Seite.
  3. Klicken Sie auf "Effekte", dann wählen Sie die Checkbox "Benutze den folgenden Übergangseffekt für Menus und Tooltips" ab.
  4. Klicken Sie OK um den Dialog zu schliessen.

Kann ein lokales Repository auf einem Netzlaufwerk erstellt werden?

Ein FSFS Repository kann auf einem Netzlaufwerk benutzt werden, aber nur von einem einzelnen Benutzer wie auf einem lokalen Laufwerk. Der nächste FAQ-Eintrag erklärt warum die Benutzung durch mehrere Benutzer eine schlechte Idee ist. Falls keine wirklich zwingenden Gründe existieren sollte ein Repository nicht auf einem Netzlaufwerk benutzt werden. Stattdessen sollte wenn immer möglich ein Subversion Server verwendet werden.

Behaupten Sie später nicht, Sie seien nicht gewarnt worden...

Kann ein Repository auf einem Netzlaufwerk benutzt werden anstatt dass ein Server installiert wird?

Wenn mehrere Benutzer auf ein Repository zugreifen müssen welches auf einem Netzlaufwerk liegt, so ist dies theoretisch möglich mit einem FSFS Repository (aber nicht mit einem BDB Repository) mit dem file:// Protokoll. Dies ist aber nicht empfohlen aus folgenden guten Gründen:

  1. Sie geben volle Rechte für alle Benutzer auf das ganze Repository direkt. Benutzer können so sogar das ganze Repository aus versehen (oder auch nicht aus versehen) löschen.
  2. Nicht alle Netz-Protokolle unterstützen alle Locking-Mechanismen welche Subversion benötigt. Eines Tages könnten Sie entdecken dass das Repository leicht korrupt ist.
  3. Die Zugriffsrechte müssen genau richtig gesetzt werden. SAMBA-Netzlaufwerke sind in dieser Hinsicht sehr kompliziert.
  4. Falls auch nur ein Benutzer einen neueren Subversion-Client installiert und verwendet könnte dies in einem automatischen Upgrade des Repositories führen. Dann könnten alle anderen Benutzer nicht mehr auf das Repository zugreifen bis auch diese ihren Subversion-Client auf die neue Version aktualisiert haben.

Die einfachste Lösung ist wirklich einen echten Subversion Server einzusetzen (z.B. Apache oder svnserve). Die Installation eines solchen Servers ist einfacher als Sie vielleicht denken. Das Subversion Buch behandelt dies ausführlich: Kapitel 6. Die Administration eines Subversion-Servers. Wir haben ebenfalls ein Kapitel in unserer Doku über dieses Thema: Zugriff auf das Projektarchiv.

Es gibt auch sehr einfache Installer welche einen Subversion-Server ohne Konfiguration automatisch installieren und aufsetzen:

Können verschiedene Subversion-Clients auf derselben Arbeitskopie verwendet werden?

Ja, es können verschiedene Subversion-Clients auf derselben Arbeitskopie verwendet werden. Mit einer kleinen Einschränkung: alle Subversion-Clients müssen dieselbe Version der Subversion-Bibliothek benutzen, d.h. die Version der benutzen Subversion-Bibliothek für alle Clients muss die ersten beiden Zahlen gleich haben. Als Beispiel: wenn alle Clients eine Subversion-Bibliothek mit Version 1.6.x benutzen (x kann eine beliebige Zahl sein und darf auch von Client zu Client unterschiedlich sein) gibt es kein Problem.

Eine weitere Einschränkung: es müssen alle Clients dasselbe Betriebssystem benutzen (also z.B. nur Windows-Clients oder nur Linux-Clients, aber niemals beide!). Auch darf zum Beispiel nicht ein Windows-Client zusammen mit dem Cygwin-Client verwendet werden, da dieser zwar unter Windows läuft, aber sich wie ein Linux-Client verhält.

Ich habe aus Versehen eine Datei gelöscht. Wie krieg ich die Datei zurück?

Wenn Sie die Änderungen noch nicht übertragen haben, können Sie den Befehl Rückgängig auf dem drüberliegenden Ordner ausführen.

Falls Sie diese Änderung bereits übertragen haben, müssen Sie diese Revision rückgängig machen. Wie das geht ist in unserer Doku beschrieben.

Es werden mehrere TortoiseSVN Kontextmenu-Einträge angezeigt für Verknüpfungen.

Dies ist normal. Ein Eintrag ist für die Verknüpfung selbst (die *.lnk Datei), der andere für das Ziel wo die Verknüpfung hin zeigt. Auf diese Weise kann eine Verknüpfung selbst versioniert sein und gleichzeitig als Ziel für andere versionierte Ziele dienen. Es ist sogar möglich, dass bis zu drei Kontextmenu-Einträge angezeigt werden im Dateimenu.

Ist etwas wie "Shared Files" von Visual Source Safe möglich?

Ja, das ist möglich. Lesen Sie dazu das Kapitel External Definitions im Subversion Buch.

Ist es möglich TortoiseSVN auch ohne Server zu verwenden?

Ja, Sie können das file:// Protokoll verwenden um auf lokale Repositories zuzugreifen.

Kann man Benutzername & Passwort direkt angeben?

TortoiseSVN ist ein graphischer Client und wird automatisch nach Benutzername und Passwort fragen wenn der Server dies verlangt. Wenn Sie einen Prozess automatisieren möchten und Benutzername/Passwort von vorneweg mit übergeben möchten damit keine Benutzerinteraktion notwendig ist, benutzen Sie bitte den Kommandozeilen-Client.

Warum ist die "Autor"-Spalte leer im Log-Dialog wenn svn+ssh:// verwendet wird?

Da SSH den ganzen Anmeldeprozess übernimmt, bekommt Subversion selber gar nicht mit, mit welchem Benutzernamen eine Übertragung gemacht wurde. Um Subversion dies dennoch mitzuteilen muss der Benutzername in die URL eingebaut werden, zum Beispiel svn+ssh://[email protected]. Dies muss schon beim auschecken der Arbeitskopie gemacht werden.

Wie erkennt TortoiseSVN ob eine Datei verändert wurde?

Wenn eine Datei verändert wurde aber TortoiseSVN dies nicht erkennt, überprüfen Sie bitte zuerst ob die Datei wirklich verändert wurde.

Wenn Sie sicher sind dass die Datei Veränderungen hat aber dennoch nicht im Commit-Dialog als verändert angezeigt wird stellen Sie sicher dass:

  • die Datei-Zeit für den letzten Schreibzugriff sich geändert hat (einige Tools wie z.B. Hex-Editoren setzen diese Zeit nach einer Änderung wieder zurück!)
  • wenn das svn:eol-style Property gesetzt ist sich nicht nur die Zeilenenden verändert haben. Wenn sich nur die Zeilenenden verändert haben dann ist die Datei was Subversion betrifft unverändert.

Subversion erkennt ob sich eine Datei geändert hat nach dem folgenden Ansatz:

  1. wurde die Zeit des letzten Schreibzugriffs geändert und/oder hat sich die Dateigrösse geändert?
  2. Falls nicht: die Datei ist unverändert
  3. Falls ja: die Datei wird Byte für Byte mit der Originalversion verglichen
  4. Beim ersten Byte das unterschiedlich ist wird der Vergleich gestoppt und die Datei als verändert markiert.
  5. Falls alle Bytes identisch sind, wird die Datei als unverändert markiert.

Wenn eine Datei gelöscht wird ist die Datei weg. Wie kann diese Änderung übertragen werden?

Sehr einfach: Übertragen Sie den ganzen Ordner! Klicken Sie rechts im Explorerfenster neben die gelöschte Datei (auf den Fensterhintergrund) und wählen Sie den Befehl Übertragen. Der Commit-Dialog zeigt dann alle Änderungen am ganzen Ordner, einschliesslich der gelöschten Datei.

Explorer und Datei Speichern/Öffnen Dialoge sind sehr langsam.

Wenn Sie Netzlaufwerke welche gerade nicht verbunden sind, zum Beispiel weil das Laufwerk nicht zugänglich ist oder Sie sich (noch) nicht angemeldet haben dann kann Windows sehr langsam werden weil es dauernd versucht auf dieses Laufwerk zuzugreifen. Entfernen Sie entweder die Verbindung zum Netzlaufwerk oder stellen Sie sicher, dass auf das Laufwerk zugegriffen werden kann.

Die bugtraq: Properties werden im Repository-Browser nicht verwendet.

Dies ist so gewollt. Der Repository-Browser liest diese Properties nicht weil dies eine sehr langsame Operation ist wenn dies direkt auf dem Repository gemacht werden muss. Es ist nur schnell wenn die Properties aus einer Arbeitskopie gelesen werden können.

Der Log-Dialog stürzt häufig ab.

Der Log-Cache ist darauf angewiesen, dass alle Repositories verschiedene UUIDs aufweisen. Eine detaillierte Erklärung warum dies so ist kann hier nachgelesen werden (Englisch).

Löschen Sie den Log-Cache und vergeben Sie neue UUIDs für die Repositories. Wenn Sie die UUIDs nicht neu setzen können, müssen Sie den Log-Cache im Einstellungsdialog deaktivieren.

Bei einem Update der Arbeitskopie werden neue Dateien nicht eingefügt!

Zwischen TortoiseSVN 1.6.0 und 1.6.1, wurden neue Ordner mit Tiefe "Nur dieses Objekt" hinzugefügt. Dies führte zu sogenannten "Sparse Checkouts" für diesen Teil der Arbeitskopie.

Bitte aktualisieren Sie zur letzten TortoiseSVN-Version um solche Probleme in Zukunft zu vermeiden.

Um das Problem mit der Arbeitskopie selbst zu beheben, führen Sie den Befehl "Aktualisiere zu Revision..." aus und wählen Sie als "Update Tiefe" "Voll Rekursiv" aus.

Ein Bug oder Feature wurde in Revision rXXX erledigt, aber der letzte Release enthält die Änderung nicht. Warum?

Unsere Release-Richtlinie ist dass neue Funktionen oder Änderungen an Resourcen niemals in den stabilen Branch übernommen werden. Nur wichtige Fehlerbehebungen werden dorthin übernommen. Der stabile Branch ist der Ort, von dem wir unsere Releases erstellen.

Diese Richtlinie existiert um zu vermeiden, dass neue Fehler eingeführt werden. Schliesslich ist dies der stabile Branch.

Es kann also gut sein, dass ein Bug/Feature zwar im trunk erledigt ist aber Aufgrund unserer Release-Richtlinie nicht in den stabilen Branch übernommen wurde.

Warum ist der Subversion Kommandozeilenclient nicht im Installer dabei?

Ganz einfach: TortoiseSVN benötigt den Kommandozeilenclient nicht, und auch die allermeisten Benutzer von TortoiseSVN benötigen diesen nicht.

Diejenigen welche den Kommandozeilenclient benötigen können diesen von verschiedenen Orten im Internet erhalten.

Wenn wir den Kommandozeilenclient mitliefern würden, müssten wir auch Support für diesen gewähren. Dafür fehlt uns schlicht die Zeit, wir haben genug zu tun mit TortoiseSVN selbst.

TortoiseSVN funktioniert nicht mit Eclipse.

Eclipse kopiert ganze Verzeichnisse als Teil der normalen Arbeit. In einer Subversion-Arbeitskopie befinden sich versteckte .svn-Ordner, welche Eclipse gleich mitkopiert. Dies führt dazu, dass SVN-Clients durcheinander geraten weil zwar die .svn-Ordner vorhanden sind, aber der Ordner selbst keine richtige Arbeitskopie ist.

Wenn Sie trotzdem TortoiseSVN mit Eclipse verwenden möchten, müssen Sie **/.svn/ zur Source-Exclude-Liste von Eclipse hinzufügen

Aber Eclipse hat eigene Plugins für Subversion, welche das Problem von Beginn weg gar nicht auftreten lassen. Benutzen Sie in Eclipse eines von diesen SVN Plugins.

Dialog fragt nach Smart Card

Wenn Sie eine SmartCard Software einsetzen ist es möglich dass für jede Verbindung welche TortoiseSVN zu einem Repository mache ein Dialog angezeigt wird welcher Sie auffordert die SmartCard ins Lesegerät einzustecken.

Damit TortoiseSVN gar nicht mehr versucht auf den Zertifikatsspeicher von Windows zuzugreiffen wenn der Repository-Server nach einem Zertifikat verlangt können Sie den Registry-Schlüssel HKCU\Software\TortoiseSVN\OpenSSLCapi als DWORD Wert erstellen und den Wert auf 0 setzen.

How can I...

... Informationen wie Autor, Revision und Commit-Daten in Dateien einfügen?

Read about the Subversion property svn:keywords in the Subversion book.

With TortoiseSVN, set the properties as described here.

... die Log-Meldung oder den Autor nach einem Commit ändern?

Starten Sie den Log-Dialog und klicken Sie rechts auf die entsprechende Revision und wählen dann Autor ändern oder Log-Meldung ändern. Damit der Server diese Änderungen akzeptiert muss ein pre-revprop-change Hookscript installiert sein. Eine Standardinstallation ohne ein solches Hookscript wird Änderungen an Autor und Log-Meldung verweigern.

... die Information in Drop-Down Listen in TortoiseSVN löschen?

Alle gespeicherten Informationen können im Einstellungsdialog gelöscht werden. Klicken Sie einfach auf den entsprechenden Button unter "gespeicherte Daten".

Einzelne Einträge können direkt in den Drop-Down Listen gelöscht werden durch drücken von Shift-Delete

... ein Repository komplett vom Computer entfernen?

Ähemm: wählen Sie den Ordner im Explorer und drücken Sie die Delete-Taste.

Im Ernst, da sind keine versteckten Dateien oder Einstellungen. Das ganze Repository ist in einem einzigen Ort gespeichert.

Dasselbe gilt für Arbeitskopien. Auch diese können direkt im Explorer gelöscht werden.

... Log-Meldungen in eine Textdatei übernehmen?

Wählen Sie im Log-Dialog alle gewünschten Revisionen und drücken Sie Strg-C. Drücken Sie dann Strg-V in Ihrem bevorzugten Text-Editor.

Wenn Sie die Log-Meldungen für weitere Verarbeitung in einem XML-Format benötigen, benutzen Sie stattdessen den Kommandozeilenclient.

... die Projekt-Revisionsnummer ins Projekt übernehmen?

Benutzen Sie dazu das SubWCRev.exe Tool welches mit TortoiseSVN installiert wird. Lesen Sie dazu unsere Doku.

... Subversion daran hindern, automatisch Änderungen einzumischen?

Einige Benutzer mögen es nicht, dass Subversion automatisch Änderungen von anderen in die lokale Arbeitskopie einmischt bei einem Update. Um dies zu verhindern und Subversion zu zwingen, solche Änderungen als Konflikt zu markieren so dass Sie die Änderungen später selber von Hand einbringen können gehen Sie wie folgt vor:

  1. Im Einstellungs-Dialog->Subversion Konfigurationsdatei, klicken Sie auf den Button "Bearbeiten".
  2. Fügen Sie in der Sektion [helpers] folgende Zeilen ein:
    diff-cmd = "C:\\false.bat"
    diff3-cmd = "C:\\false.bat"
    (Beachten Sie den doppelten Backslash)
  3. Erstellen Sie die Datei C:\false.bat mit den folgenden zwei Zeilen drin
    @type %9
    @exit 1

Dies führt dazu, dass Auto-Merges jedes Mal fehlschlagen und Subversion dazu zwingen die Dateien als Konflikt zu markieren.

... sehen, was das zur Arbeitskopie zugehörige Repository ist?

Klicken Sie mit der rechten Maustaste auf einen Ordner in der Arbeitskopie und wählen Sie dann Eigenschaften aus dem Explorer Kontextmenu aus. Im Eigenschaftsdialog dann wählen Sie die Seite "Subversion" aus. Auf dieser Seite können Sie die URL sehen, welche mit der Arbeitskopie verknüpft ist.

... TortoiseSVN automatisch ohne Benutzerinteraktion installieren?

Starten Sie den MSI Installer folgendermassen:

msiexec /package TortoiseSVN.msi /quiet INSTALLDIR="Pfad/zum/Zielordner"

Error messages

Kann 'XXX' nicht nach 'YYY' kopieren / verschieben: Die angegebene Datei wurde nicht gefunden.

Dieser Fehler erscheint normalerweise bei einem Update der Arbeitskopie. Der Grund für den Fehler ist entweder:

  • Es gibt zwei unterschiedliche Dateien im Repository wo der Dateiname sich nur in Gross/Kleinschreibung unterscheidet. Dies kann unter Windows nicht funktionieren, da Windows diese zwei Dateien als nur eine ansieht. Es ist sehr wahrscheinlich, dass eine dieser Dateien fälschlicherweise hinzugefügt wurde. Finden Sie heraus welche das ist und löschen Sie diese Datei mit dem Repository-Browser.
  • Es gibt eine Datei im Repository mit einem Dateinamen welcher unter Windows nicht erlaubt ist. Zum Beispiel "con", "lpr", "com", usw. sind unter Windows als Dateinamen nicht erlaubt weil diese Namen für Geräte verwendet werden. Und natürlich dürfen Dateinamen keine Zeichen wie "/\*?:|" und einige weitere spezielle Zeichen enthalten.

Ja, wir wissen auch dass die Fehlermeldung in diesem Falle nicht sehr hilfreich ist. Aber die Fehlermeldung wird von der Subversion-Bibliothek erzeugt und TortoiseSVN kann diese nicht von sich aus ändern.

Kann 'XXX' nicht nach 'YYY' verschieben: Die Datei oder Ordner ist beschädigt oder nicht lesbar.

Diese Fehlermeldung erscheint üblicherweise bei einem Update oder einer Übertragung einer Arbeitskopie und ist vorallem auf Windows 7 anzutreffen. Dieser Fehler tritt auf wenn ein anderer Prozess eine Datei geöffnet hat während Subversion versucht die Datei zu verschieben oder zu verändern. Dieser andere Prozess kann zum Beispiel ein Virenscanner sein. Konfigurieren Sie diesen so dass die Arbeitskopien vom Virenscanner nicht laufend untersucht werden.

Hinweis: Ein Fehler in Windows7 kann ebenfalls die Ursache für diese Fehlermeldung sein. Der Fehler ist mit dem Servicepack 1 von Windows7 behoben.

Kann die Datei 'XXX' nicht öffnen: Der Prozess kann nicht auf die Datei zugreifen weil die Datei in einem anderen Prozess geöffnet ist.

Benutzer welche diesen Fehler erhalten melden meist, dass dieser Fehler nur zufällig auftritt während einer meist grösseren Übertragung.

Der wahrscheinlichste Grund für diesen Fehler ist ein falsch konfigurierter Virenscanner, welcher die Dateien welche Subversion für die Übertragung erstellt zu lange untersucht und deswegen die Datei geöffnet hält. Versuchen Sie den Virenscanner zu deaktivieren oder zumindest so zu konfigurieren dass er die Arbeitskopien und TortoiseSVN in Ruhe lässt.

Der Client ist zu alt, um mit der Arbeitskopie 'XXX' zusammen zu arbeiten.

Dieser Fehler tritt auf wenn Sie einen SVN Client benutzten welcher eine höhere Version hat als der Client welcher Sie jetzt benutzen.

Der Grund dafür ist dass Subversion Clients die Arbeitskopie automatisch auf neuere Versionen aktualisieren mit dem ersten Befehl welcher auf der Arbeitskopie ausgeführt wird. Ist eine Arbeitskopie einmal so auf neuere Versionen aktualisiert, können ältere Subversion Clients nicht mehr darauf zugreifen.

Die einzige Möglichkeit um diese Problem zu beheben ist dass Sie alle SVN Clients welche Sie benutzen auf die selbe Version (die Version der SVN Bibliothek welcher der Client benutzt) aktualisieren. Oder Sie müssen die Arbeitskopie neu auschecken.

Kann nicht auf die Standardausgabe schreiben

TortoisePlink benutzt den Standard Plink Code, ist aber als Window-Applikation erstellt so dass das Kommandozeilenfenster nicht bei jeder Verbindung erscheint. Das bedeutet aber, dass ohne ein Kommandozeilenfenster Fehlermeldungen von Plink nicht angezeigt werden können. Tritt dies auf, erscheint deshalb stattdessen diese nichtssagende Fehlermeldung.

Deshalb sollten Sie in diesem Fall zuerst nicht TortoisePlink, sondern das richtige Plink Tool verwenden. Damit werden die richtigen Fehlermeldungen angezeigt und Sie können dann den Server korrekt aufsetzen und konfigurieren. Sobald die Verbindung mit Plink korrekt funktioniert, können Sie wieder TortoisePlink verwenden.

400 Bad Request

REPORT request failed on '...' REPORT of '...': 400 Bad Request (http://...)

Dieser Fehler tritt auf, wenn eine Firewall oder Proxyserver die DAV-Requests blockiert. Dies ist leider bei den meisten Firewalls/Proxyservern der Fall in der Standardeinstellung. Sie müssen die Firewall oder Proxyserver so konfigurieren, dass DAV-Requests ohne Änderung durchgelassen werden. Auch einige Virenscanner blockieren solche DAV-Requests.

Eine andere Möglichkeit diesen Fehler zu vermeiden ist die Benutzung von SSL, also https:// statt http:// für die Verbindung zum Repository zu benutzen.

403 Forbidden

PROPFIND request failed: 403 Forbidden

Die wahrscheinlichste Ursache für diesen Fehler ist dass Sie den Pfad zum übergeordneten Verzeichnis angegeben haben statt den Pfad zum Repository selbst. Versuchen Sie den Namen des Repositories an die URL anzuhängen. Auch muss die URL einen Slash am Schluss aufweisen nach dem Namen des Repositories.

Für genauere Informationen über diesen Fehler sehen Sie sich bitte das Apache Fehlerlog an.

405 HTTP Method Not Allowed

PROPFIND Request Failed - Error 405 HTTP Method Not Allowed

Dieser Fehler tritt in unterschiedlichen Variationen auf. Sie sehen diesen Fehler wenn:

  • PROPFIND Request Failed Sie haben vergessen, einen '/' Slash am Ende der URL einzugeben.
  • PROPFIND Request Failed Sie versuchen auf das Repository zuzugreifen, aber ein Proxyserver welcher zwischen TortoiseSVN und dem Repository steht lässt DAV-Requests nicht durch. Mit einem Webbrowser hingegen können Sie auf das Repository ohne Probleme zugreifen, nur mit TortoiseSVN oder anderen SVN-Clients kriegen Sie diesen Fehler. Sie müssen ihre Firewall/Proxyserver so konfigurieren dass DAV-Requests durchgelassen werden. Oder verwenden Sie https:// statt http:// - die meisten Firewalls oder Proxyserver können verschlüsselte Daten nicht blockieren und lassen deshalb DAV-Request it https:// durch.
    Eine andere Möglichkeit für diesen Fehler ist ein Virenscanner auf ihrem Computer, welcher ebenfalls DAV-Requests blockiert.
  • Lock Request Failed Sie haben versucht, eine Datei in Ihrer Arbeitskopie zu sperren welche im Repository gar nicht mehr existiert. Aktualisieren Sie Ihre Arbeitskopie.

Detailliertere Information bei solchen Fehlern finden Sie jeweils im Errorlog von Ihrem Apache-Server.