Subversion ed

Versionsverwaltung

Dokumentation
http://svnbook.red-bean.com/en/1.4/index.html

Server ed

zu installieren ed

Konfiguration ed

sicher gehen, dass in der Apache-Konfiguration folgendes enthalten ist:

LoadModule dav_module         ...?...modules/mod_dav.so
LoadModule dav_svn_module     ...?...modules/mod_dav_svn.so

ein einzelnes Repository:


  DAV svn
  SVNPath /absolute/path/to/repository

mehrere Repositories in einem Eltern-Verzeichnis:


  DAV svn
  SVNParentPath /usr/local/svn

mit VirtualHosts:


  ServerName svn.domaine.de
  
    ...wie oen
  

Autentifizierung ed

Benutzer-Datei erstellen:

htpasswd -cm $Datei $user1
  (Passwort 1 eingeben)
htpasswd -m $Datei $user2
  (Passwort 2 eingeben)

apache beibringen:


  DAV svn
  SVNPath /absolute/path/to/repository

  AuthType Basic
  AuthName "Subversion"    # wird bei der Abfrage angezeigt?
  AuthUserFile $Datei
  Require valid-user

  # alternativ zur letzten Zeile: ( -> nur Schreibschutz)
  
    Require valid-user
  

Repository erstellen ed

Verzeichnis erstellen, danach

svnadmin create $Pfad

Backup ed

svnadmin hotcopy $path_to_repository $path_to_backup --clean-logs

Client: svn (Konsole) ed

Arbeitskopie vom Server holen ed

svn checkout $quelle $ziel

kopiert den Inhalt von \(quelle\lt /tt\gt in das lokale Verzeichnis \lt tt\gt \)ziel hinein. Wenn \(ziel\lt /tt\gt noch nicht existiert, wird es angelegt. === Benutzung === ; Vor dem Editieren: svn update ; Nach dem Editieren svn commit und im Editor einen Kommentar eingeben. Je nachdem, welcher Editor ausgewählt ist: * nano: \lt tt\gt Strg + O\lt /tt\gt dann \lt tt\gt Strg + X\lt /tt\gt * joe: \lt tt\gt Strg + K\lt /tt\gt dann \lt tt\gt X\lt /tt\gt ; Änderungen rückgängig svn revert \)datei

Liste der Änderungen

svn status

bestehendes Verzeichnis importieren ed

svn import $quelle $ziel

importiert den Inhalt von \(quelle\lt /tt\gt in das Verzeichnis \lt tt\gt \)ziel hinein! Die Verzeichnisstruktur auf dem Server wird dabei automatisch erstellt

danach aus \(quelle\lt /tt\gt ein Arbeitsverzeichnis machen: svn checkout \)ziel \(quelle --force am besten aus dem Eltern-Verzeichnis aus arbeiten. \lt tt\gt --force\lt /tt\gt , weil die Dateien schon existieren. === bestehendes Verzeichnis unter anderem Namen importieren === Im Verzeichnis arbeiten svn import . \)ziel

svn checkout $ziel .

Dateien ignorieren ed

svn propedit svn:ignore .

dann einen Filter für die Dateien eingeben, z.B.

temp.txt
*.backup
*.o

Client: TortoiseSVN (Windows) ed

Homepage
http://tortoisesvn.tigris.org/

Dokumentation
http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html

bestehendes Verzeichnis importieren ed

  • zu erst das Verzeichnis im Repository erstellen

Repo-Browser -> Rechts Klick -> Create Folder

  • dann über das bestehende Verzeichnis exportieren (Repo-Browser)
  • im Explorer den gewünschten Inhalt des Verzeichnises markieren und

Rechts Klick -> TortoiseSVN -> add...

  • im Dialogfeld die Wahl weiter einschränken