<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.63.201</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.63.201"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/130.149.63.201"/>
	<updated>2026-10-28T20:11:30Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Subversion_im_CS-Netz&amp;diff=8623</id>
		<title>Subversion im CS-Netz</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Subversion_im_CS-Netz&amp;diff=8623"/>
		<updated>2008-10-31T17:30:30Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.201: /* Schritt 3: Checkout des Repositorys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Guide beschreibt, wie man eine Software zur [[WikiPedia:Versionskontrolle|Versionskontrolle]] namens [http://subversion.tigris.org/ Subversion (SVN)] einsetzt. [[WikiPedia:Subversion (Software)|Subversion]] ermöglicht mehreren Nutzern, gleichzeitig an den gleichen Dateien zu arbeiten und so vor allem Quellcode und Textdateien zentral zu organisieren und zu speichern.&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt allerdings nur die Grundlagen, wie ein SVN Repository im [[IRB|CS-Netz]] eingerichtet wird. Grundlagen in der Software werden nicht gelegt, dafür sollte weitere Literatur dienen.&lt;br /&gt;
&lt;br /&gt;
Für das Repository braucht man nur Speicher im Home-Verzeichnis, die SVN-Software auf dem Server (ist installiert) und zu Hause (siehe unten). Sollen mehrere Benutzer auf das Repository zugreifen können, muss außerdem eine Gruppe im CS-Netz existieren oder angelegt werden. Am Ende steht optional die Einrichtung von Commit-E-Mails.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;ACHTUNG:&amp;lt;/strong&amp;gt; Das Anlegen der Gruppe und die Rechtevergabe funktioniert so nur mit den klassischen CS-Accounts. Nutzer der TubIT-Konten können sich unter Umständen durch Konfiguration ihres AFS-Verzeichnisses behelfen. Derzeit liegen uns jedoch noch keine Erfahrungsberichte vor.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konventionen ==&lt;br /&gt;
$USER ist der Benutzername desjenigen, der das Repository einrichtet, z.B. &#039;&#039;&#039;buchholz&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
$HOME ist das Home-Verzeichnis des Benutzers, z.B. &#039;&#039;&#039;/home/buchholz&#039;&#039;&#039; (bekommt man mit &#039;&#039;&#039;pwd&#039;&#039;&#039; raus). &amp;lt;br /&amp;gt;&lt;br /&gt;
Falls jedoch andere Benutzer auf das Repo-Verzeichnis zugreifen können sollen, sollte man den tatsächlichen Pfad &#039;&#039;&#039;/pool/user/buchholz&#039;&#039;&#039; benutzen.  &amp;lt;br /&amp;gt;&lt;br /&gt;
$HOST ist der Server, auf dem das SVN laufen soll, z.B. &#039;&#039;&#039;condesa.cs.tu-berlin.de&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
$GROUP ist die Gruppe, die Zugriff auf das SVN haben soll, z.B. &#039;&#039;&#039;mycoolsvngroup&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
$MYREPO ist der Name des Repositorys, das eingerichtet werden soll, z.B. &#039;&#039;&#039;mpgi1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fettdruck&#039;&#039;&#039; bedeutet immer, dass eine Ersetzung durch einen konkreten Wert nötig ist.&lt;br /&gt;
&lt;br /&gt;
== Über die SVN-Installation im CS-Netz ==&lt;br /&gt;
&lt;br /&gt;
Stand September 2007: Wir nutzen hier die Version 1.4.3 installiert in &#039;&#039;&#039;/opt/csw/bin&#039;&#039;&#039;. (Standardmäßig in $PATH eingetragen)&lt;br /&gt;
&lt;br /&gt;
== Schritt 1: Login und Einrichten der Gruppe ==&lt;br /&gt;
Wir verbinden uns zum gewählten Host und richten die Gruppe und die Nutzer ein.&lt;br /&gt;
&lt;br /&gt;
 ssh &#039;&#039;&#039;$HOST&#039;&#039;&#039;&lt;br /&gt;
 grp -setup &#039;&#039;&#039;$GROUP&#039;&#039;&#039;&lt;br /&gt;
 grp -invite &#039;&#039;&#039;$GROUP&#039;&#039;&#039; user1 user2 user3... # Einladen der Nutzer ($USER selbst ist schon drin)&lt;br /&gt;
&lt;br /&gt;
Die Nutzer bekommen daraufhin eine E-Mail und müssen der Gruppe [[SSH|via Terminal]] beitreten. Die Aktualisierung der Gruppendatenbank dauert eine Weile (etwa 1 Stunde).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung&#039;&#039;&#039;: Es ist auch denkbar, das gesamte SVN für die Allgemeinheit freizugeben,&lt;br /&gt;
dann müssen wir keine Gruppe erstellen und es ist auch nicht nötig, nacher die Gruppenberechtigungen&lt;br /&gt;
mittels chgrp zu ändert. Aufgrund einer erhöhten Sicherheit (Nicht jeder &lt;br /&gt;
kann in das Repository schreiben, sondern nur Gruppenmitglieder) sollten wir jedoch&lt;br /&gt;
eine Gruppe einrichten.&lt;br /&gt;
&lt;br /&gt;
== Schritt 2: Einrichten des SVNs ==&lt;br /&gt;
Nun erstellen wir die nötigen Verzeichnisse und ein Repository.&lt;br /&gt;
&lt;br /&gt;
 mkdir &#039;&#039;&#039;$HOME&#039;&#039;&#039;/svn-repo&lt;br /&gt;
 cd &#039;&#039;&#039;$HOME&#039;&#039;&#039;/svn-repo&lt;br /&gt;
 svnadmin create &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es müssen entsprechende Rechte für das neue Verzeichnis gesetzt werden.&lt;br /&gt;
Dies funktioniert aber erst, wenn mindestens ein Mitglied, welches mit grp -invite eingeladen wurde der Gruppe beigetreten ist:&lt;br /&gt;
* Execute für jeden, damit er in das Home-Verzeichnis wechseln kann.&lt;br /&gt;
* Group-Read und -Write, wo nötig.&lt;br /&gt;
 chmod o+x . ..&lt;br /&gt;
 chgrp -R &#039;&#039;&#039;$GROUP&#039;&#039;&#039; &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;&lt;br /&gt;
 chmod -R o-rwx &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;&lt;br /&gt;
 chmod -R g+rX &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;&lt;br /&gt;
 chmod -R g+u &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;/db&lt;br /&gt;
 chmod g+s &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Schritt 3: Checkout des Repositorys ==&lt;br /&gt;
&lt;br /&gt;
Die URL des Repositorys lautet:&lt;br /&gt;
 svn+ssh://&#039;&#039;&#039;$MEINCSNAME&#039;&#039;&#039;@&#039;&#039;&#039;$HOST&#039;&#039;&#039;/&#039;&#039;&#039;$HOME&#039;&#039;&#039;/svn-repo/$MYREPO&lt;br /&gt;
z.B.&lt;br /&gt;
 svn+ssh://post@condesa.cs.tu-berlin.de/home/buchholz/svn-repo/mpgi1&lt;br /&gt;
&lt;br /&gt;
=== Clients ===&lt;br /&gt;
&lt;br /&gt;
Das Repo kann unter Linux/Solaris ausgecheckt werden mittels&lt;br /&gt;
 svn co &#039;&#039;&#039;$REPO_URL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unter Windows empfehle ich [http://tortoisesvn.tigris.org/ TortoiseSVN] als Explorer-Plugin.&lt;br /&gt;
&lt;br /&gt;
Es gibt für Windows, Linux und Solaris auch ein Eclipse-Plugin dafür: [http://subclipse.tigris.org/ Subclipse].&lt;br /&gt;
&lt;br /&gt;
== Schritt 4: Einrichten von Commit-Mails (optional) ==&lt;br /&gt;
&lt;br /&gt;
Commit-E-Mails bieten die Möglichkeit, über Commits aller Nutzer benachrichtigt zu werden. Sie enthalten neben der Commit-Log-Nachricht und einer Liste aller veränderten Dateien auch eine genaue Übersicht der Änderungen als Unified Diff.&lt;br /&gt;
&lt;br /&gt;
 cd &#039;&#039;&#039;$MYREPO&#039;&#039;&#039;/hooks&lt;br /&gt;
 cp post-commit{.tmpl,}&lt;br /&gt;
 chmod ug+x post-commit&lt;br /&gt;
&lt;br /&gt;
Die Datei &#039;&#039;&#039;post-commit&#039;&#039;&#039; dann in einem Text-Editor öffnen (z.B. pico) und folgende Zeile editieren:&lt;br /&gt;
 commit-email.pl &amp;quot;$REPOS&amp;quot; &amp;quot;$REV&amp;quot; commit-watchers@example.org&lt;br /&gt;
Sie sollte etwa so aussehen:&lt;br /&gt;
 /home/pub/bin/svn-commit-email.pl &amp;quot;$REPOS&amp;quot; &amp;quot;$REV&amp;quot; \&lt;br /&gt;
    --from &amp;quot;&#039;&#039;&#039;$USER&#039;&#039;&#039;@cs.tu-berlin.de&amp;quot; -s &amp;quot;[&#039;&#039;&#039;$MYREPO&#039;&#039;&#039;] SVN-Commit:&amp;quot; \&lt;br /&gt;
    email1@cs.tu-berlin.de,gruppenmitglied2@web.de,emerge_moo@yahoo.com&lt;br /&gt;
Wobei die letzten E-Mail-Adressen die Empfänger der E-Mail sind, durch Kommata getrennt. Die \ sollen hier nur andeuten, dass es sich eigentlich um eine einzige Zeile handelt, also die \ weglassen und alles als eine Zeile eingeben.&lt;br /&gt;
&lt;br /&gt;
== Schritt 5: Und nun? ==&lt;br /&gt;
&lt;br /&gt;
Ich empfehle als Einstieg und zur Vertiefung sehr das [http://svnbook.red-bean.com/nightly/en/index.html SVNBook] (auch in verschiedenen Formaten, Versionen und Sprachen [http://svnbook.red-bean.com/ zum Download]). Insbesondere die ersten Kapitel sollte man verstanden haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schritt zurück: Ich brauche Hilfe! ==&lt;br /&gt;
Vielleicht hat jemand schon deine Frage beantwortet? Schau doch mal auf der [[Diskussion:Subversion im CS-Netz|Diskussions-Seite]] nach.&lt;br /&gt;
&lt;br /&gt;
Neue Fragen bitte [http://wiki.freitagsrunde.org/index.php?title=Diskussion:Subversion_im_CS-Netz&amp;amp;action=edit&amp;amp;section=new auf der Diskussionsseite stellen]. Danke.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie: Überleben im Fakultätsnetz]]&lt;/div&gt;</summary>
		<author><name>130.149.63.201</name></author>
	</entry>
</feed>