This page (revision-28) was last changed on 09-Aug-2019 12:25 by Dieter Käppel

This page was created on 15-Jun-2010 08:26 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
28 09-Aug-2019 12:25 6 KB Dieter Käppel to previous
27 09-Aug-2019 12:25 5 KB Dieter Käppel to previous | to last
26 09-Aug-2019 11:51 5 KB Dieter Käppel to previous | to last
25 09-Aug-2019 10:35 4 KB Dieter Käppel to previous | to last
24 17-Mar-2019 19:12 4 KB Dieter Käppel to previous | to last
23 17-Mar-2019 19:10 4 KB Dieter Käppel to previous | to last
22 17-Mar-2019 18:44 4 KB Dieter Käppel to previous | to last
21 17-Mar-2019 18:32 4 KB Dieter Käppel to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
Revision Control Systeme sind Datenbanken, in denen Quellcode, Dokumente und Binärdateien abgelegt und versioniert werden können. Typischerweise finden diese Systeme bei der [Programmierung] Verwendung, da dort eine Historie der Veränderungen festgehalten werden soll. Typische Vertreter dieser Software sind CVS, Subversion (SVN), Visual Source Safe oder Clear Case.
[Subversion] (SVN) ist das aktuelle und verträglichste Source-Repository für die Java-Entwicklung und weitere Zwecke. Es ist HTTP-Kompatibel, da das Interface die WebDAV-Erweiterung davon ist. Dies bedeutet, alle [Subversion]-Inhalte können jederzeit über HTTP abgefragt werden, also auch mit dem Web-Browser.
At line 3 changed one line
!SVN
!!!Revision Control System (SCM)
Revision Control Systeme sind Datenbanken, in denen Quellcode, Dokumente und Binärdateien abgelegt und versioniert werden können. Typischerweise finden diese Systeme bei der [Programmierung] Verwendung, da dort eine Historie der Veränderungen festgehalten werden soll. Typische Vertreter dieser Software sind CVS, [Subversion] (SVN), Visual Source Safe oder Clear Case.
!!!SVN
At line 9 changed one line
Der Apache Subversion Commandline Client: [Revision Control System/subversion-1.7.1.zip]
Der Apache [Subversion] Commandline Client: [Revision Control System/subversion-1.7.1.zip|Subversion]
At line 11 changed one line
!VisualSVN
!!!VisualSVN
At line 14 changed one line
!Backup, Restore, Copy, Move
!!!Backup, Restore, Copy, Move
At line 19 removed one line
At line 25 changed one line
!Mime-Types
!!!Mime-Types (SVN-Properties, Autoprops)
At line 28 changed one line
Die Konfiguration erfolgt durch ein [config|Revision Control System/config]
Die Konfiguration erfolgt durch ein [config|Subversion/config]
At line 34 changed one line
!Root-Verzeichnis Visual-SVN ändern
!!!Root-Verzeichnis Visual-SVN ändern
At line 39 changed 2 lines
!Anonymous Read Access
In der Admin-Oberfläche gibt es nur einen Benutzer Everyone, mit dem jedem registrierten Benutzer Zugriffsrechte eingeräumt werden können. Wird jedoch anonymer Lesezugriff gebraucht, kann das in der Apache httpd-custom.conf eingetragen werden:
!!!Anonymous Public Read Access
In der Admin-Oberfläche gibt es nur einen Benutzer Everyone, mit dem jedem registrierten Benutzer Zugriffsrechte eingeräumt werden können. Wird jedoch öffentlicher, anonymer Lesezugriff gebraucht, kann das in der Apache httpd-custom.conf eingetragen werden:
At line 49 added 69 lines
!!!Freie Source-Repositorys
* [http://svn.apache.org/repos/asf]
!!!Proxy
Beim Verwenden eines Proxys sind die Einstellungen in der Benutzerkonfiguration einzutragen ('servers' ist die Datei, ohne File-Extension):
* Windows 7: %USERPROFILE%\AppData\Roaming\Subversion\servers
* Windows XP: %USERPROFILE%\Application Data\Subversion\servers
{{{
[global]
http-proxy-exceptions = 127.0.0.1, localhost
http-proxy-host = <proxy-host>
http-proxy-port = <proxy-port>
http-proxy-username = <username>
http-proxy-password = <password>
}}}
Username und Passwort sind optional, falls das Proxy Authentication verlangt.
!!!NTLM
In einer anderen Konfiguration war keine Verbindung über Proxy/NTLM über SVNKit 1.7.4 möglich, jedoch klappte es über Native JavaHL 1.7.4.
!!!Eclipse Connector
Wenn bereits ein Connector installiert wurde, gibt es offenbar keine Möglichkeit mehr das Marketplace-Popup zu öffnen. Neue Connectoren können dann über Install New Software installiert werden.
Durch das Installieren des ersten Connectors sollte der Update-Link für polarion.com bereits in der History eingetragen sein (etwa http://community.polarion.com/projects/subversive/download/eclipse/3.0/juno-site/), Andernfalls manuell nachtragen.
!!!Bad Gateway
Das Problem tritt wohl speziell auf, wenn der SVN-Server mit Apache per ReverseProxy von HTTPS auf HTTP intern geroutet wird. Die Lösung besteht im Bereinigen der Header-Einträge bei den Requests. Dazu folgenden Eintrag in den VirtualHost machen:
{{{
RequestHeader edit Destination ^https http early
}}}
!!!Docker SVN
Docker bietet einige fertige SVN-Server an. Man sollte darauf achten, dass das Image mit Apache2 mit HTTP-Zugang auf Port 80 ausgeliefert wird. Der reine Apache SVN Server bietet nur den proprietären SVN-Zugang auf Port 3690 an.
!!elleflorio
__Achtung:__ Seit etwa Juni 2019 wurde eine zusätzliche Zeile mit AuthzSVNAccessFile in Datei /etc/apache2/conf.d/dav_svn.conf eingefügt, welche auf die ebenfalls neue Datei /etc/subversion/subversion-access-control verweist. Ein Bug führt leider zu einem Fehler "Segmentation Fault" und macht das gesamte System unbenutzbar. Scheinbar wurde die Version völlig ungetestet veröffentlicht. Wir steigen daher um auf krisdavison.
Kann folgendermaßen erstellt werden:
* Volume svn-server-data auf /home/svn und /etc/subversion mounten
* Image elleflorio/svn-server:latest starten
* Einloggen mit docker exec -it svn-server sh
* Passwort mit "htpasswd -b /etc/subversion/passwd <name> <password>" festlegen
* Repository mit shell command svnadmin einrichten
!!krisdavison
Die Alternative ist [krisdavison/svn-server|https://hub.docker.com/r/krisdavison/svn-server]. Pfade und Vorgehensweise ist identisch mit elleflorio.
!!Berechtigungen
Erhält man etwa folgenden Fehler:
{{{
Can't create session
svn: Commit failed (details follow):
svn: Unable to connect to a repository at URL 'http://localhost/svn/Test'
Permission denied
svn: Could not open the requested SVN filesystem
}}}
Sind die Berechtigungen richtig einzustellen. Das ist natürlich ein komplexes Thema unter Unix. Eine einfache Lösung bestünde darin, den Owner auf den gewünschten User zu setzen "chown <user> *" oder gar "chmod -R 777 *" zu setzen.
!!!Links
* [Clone Repository|https://stackoverflow.com/questions/6874937/clone-mirror-svn-repos]
* [Docker SVN|https://hub.docker.com/r/elleflorio/svn-server/]