Arbeiten mit Subversion
Linux - Quick & Dirty
Donnerstag, den 02. Oktober 2008 um 00:00 Uhr


Installation von Subversion und Apache Modul für SVN

apt-get install subversion
apt-get install libapache2-svn


Repository anlegen

mkdir /var/svn
svnadmin create /var/svn/repos


Projektstruktur erstellen


mkdir -p /tmp/my_project/branch
mkdir -p /tmp/my_project/tags
mkdir -p /tmp/my_project/trunk


und ins Reposority importen

svn import /tmp/my_project file:///var/svn/repos/my_project -m "initial import"


Arbeitskopie von trunk im Verzeichnis /usr/src/my_project-trunk erstellen

svn checkout file:///var/svn/repos/my_project/trunk /usr/src/my_project-trunk

Datei im Arbeitsverzeichnis anlegen und Versionieren

cd /usr/src/my_project-trunk
touch testfile
svn add testfile


Status des Arbeitsverzeichnisses anzeigen

svn status


Änderung ins Repository zurückschreiben

svn commit -m "erste Anpassung" --username Sven


lokale Arbeitskopie mit Repository abgleichen

svn update


Konflikt als gelöst markieren

svn resolved testfile


Änderung in Arbeitskopie zurücksetzen

svn revert file

Änderungsliste anzeigen

svn log

Liste von Dateien auf Repository anzeigen

svn list --verbose

 

Änderung zwischen Revision 2 und 6 betrachten

svn diff -r 2:6 datei


Änderung zwischen zwei aufeinaderfolgenden Revisionen betrachten (Rev 2 zu Rev 3)

svn diff -c 3 datei

und vieleicht gleich ein Patchfile generieren?

svn diff -c 3 datei >> patch.diff

Änderungen zweier Revisionen im Repository betrachten (Rev 4041 vs. Rev 5193)

svn diff \
https://svn.amooma.com/gemeinschaft/tags/1.6.5.6@4041 \
https://svn.amooma.com/gemeinschaft/trunk@5193 \


diesmal nur die geänderten Dateien anzeigen :-)

svn diff \
https://svn.amooma.com/gemeinschaft/tags/1.6.5.6@4041 \
https://svn.amooma.com/gemeinschaft/trunk@5193 \
| grep Index

Änderungen zwischen zwei Revisionen im selben Zweig betrachten

svn diff -r 4042:4043 https://svn.amooma.com/gemeinschaft/trunk

Revision einer Version herausfinden

svn info https://svn.amooma.com/gemeinschaft/tags/1.6.5.6
Pfad: 1.6.5.6
URL: https://svn.amooma.com/gemeinschaft/tags/1.6.5.6
Basis des Projektarchivs: https://svn.amooma.com/gemeinschaft
UUID des Projektarchivs: 2d91074e-20bd-43ae-8273-9033e1f9829e
Revision: 5193
Knotentyp: Verzeichnis
Letzter Autor: Diese E-Mail-Adresse ist gegen Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann.
Letzte geänderte Rev: 4041
Letztes Ãnderungsdatum: 2008-05-08 14:49:00 +0200 (Do, 08 Mai 2008)

Projektes ohne .svn Verzeichnisse exportieren

svn export https://svn.amooma.com/gemeinschaft/tags/1.6.5.8 gemeinschaft-1.6.5.8

Entwicklungszweig kopieren

svn copy file:///var/svn/test/trunk/ file:///var/svn/test/branch -m "my Branch"

Links:
http://svnbook.red-bean.com/nightly/de/
http://svnbook.red-bean.com/en/1.1/ch09.html#svn-ch-9-sect-1.2
http://www.cpqlinux.com/patch.html