Subversion ed
Versionsverwaltung
- Dokumentation
- http://svnbook.red-bean.com/en/1.4/index.html
Server ed
zu installieren ed
- apache
- subversion.... + tools...(webdav?)
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
- Sicherung erstellen
svnadmin dump -q $path_to_repository > $path_to_backup
- zurückspielen
svnadmin load [-q] $path_to_repository < $path_to_backup
alternativ (wie wieder importieren?)
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 . \)zielsvn 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