<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.schokokeks.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kratz00</id>
	<title>schokokeks.org Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.schokokeks.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kratz00"/>
	<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/Spezial:Beitr%C3%A4ge/Kratz00"/>
	<updated>2026-06-09T04:47:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.schokokeks.org/wiki/index.php?title=Mercurial&amp;diff=8943</id>
		<title>Mercurial</title>
		<link rel="alternate" type="text/html" href="https://wiki.schokokeks.org/wiki/index.php?title=Mercurial&amp;diff=8943"/>
		<updated>2010-03-17T19:52:54Z</updated>

		<summary type="html">&lt;p&gt;Kratz00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://selenic.com/mercurial/ Mercurial] ist ein Versionierungsprogramm ähnlich wie [[Git]]. Es ist standardmäßig installiert und kann über &amp;lt;tt&amp;gt;hg&amp;lt;/tt&amp;gt; aufgerufen werden. Mehr Information zu Mercurial findet man im Mercurial Wiki: [http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart QuickStart] (englisch).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Veröffentlichung auf einer Homepage =&lt;br /&gt;
&lt;br /&gt;
Ein Repository auf dem Server kann über ein CGI-Skript veröffentlicht werden, so das jeder Besucher mit seinem Browser das Repository anzeigen kann, die Logs lesen kann, das Repository clonen kann, etc.&lt;br /&gt;
&lt;br /&gt;
Folgend nun eine kurze Installationsanleitung für schokokeks.org, für genauere Informationen steht das Mercurial Wiki zur Verfügung: [http://www.selenic.com/mercurial/wiki/index.cgi/CGIinstall CGIinstall] (englisch).&lt;br /&gt;
&lt;br /&gt;
Die folgende Verzeichnisstruktur wird angenommen, sie kann natürlich angepasst werden. Alle folgenden Befehle finden, soweit nicht anders angegeben, auf dem schokokeks.org Server statt.&lt;br /&gt;
&lt;br /&gt;
 $HOME/htdocs/        &amp;lt;- über Browser zugänglich&lt;br /&gt;
 $HOME/htdocs/hg/     &amp;lt;- hier wird Mercurial zugänglich sein&lt;br /&gt;
 &lt;br /&gt;
 $HOME/hg/            &amp;lt;- Mercurial Repositories werden hier gespeichert&lt;br /&gt;
 $HOME/hg/repository/ &amp;lt;- Test Repository&lt;br /&gt;
&lt;br /&gt;
Zuerst muss das Repository erstellt werden.&lt;br /&gt;
&lt;br /&gt;
 % cd $HOME/hg/repository&lt;br /&gt;
 % hg init&lt;br /&gt;
&lt;br /&gt;
Ein schon vorhandenes Repository kann natürlich einfach nach &amp;lt;tt&amp;gt;$HOME/hg/repository&amp;lt;/tt&amp;gt; kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Es sollte eine hgrc Datei in &amp;lt;tt&amp;gt;$HOME/hg/repository/.hg/hgrc&amp;lt;/tt&amp;gt; mit folgendem Inhalt erstellt werden (die Daten natürlich anpassen):&lt;br /&gt;
&lt;br /&gt;
 [web]&lt;br /&gt;
 description = Eine kurze Beschreibung des Repository.&lt;br /&gt;
 author = Ihr Name &amp;lt;ihr-name@example.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss das CGI-Skript herunter geladen werden. Die Datei  ist auf dem offiziellem Mercurial Server zugänglich: http://selenic.com/hg/raw-file/tip/hgweb.cgi Sie muss unter &amp;lt;tt&amp;gt;$HOME/htdocs/hg/index.cgi&amp;lt;/tt&amp;gt; gespeichert werden und die folgenden Änderungen müssen an ihr vorgenommen werden:&lt;br /&gt;
&lt;br /&gt;
In der vorletzten Zeile muss &amp;lt;tt&amp;gt;/path/to/repo&amp;lt;/tt&amp;gt; durch den Pfad zum Repository ersetzt werden. Achtung, hier kann nicht &amp;lt;tt&amp;gt;$HOME/hg/repository&amp;lt;/tt&amp;gt; eingetragen werden, es muss der komplette absolute Pfad ohne Variablen sein, z. B. &amp;lt;tt&amp;gt;/home/ihr-benutzername/hg/repository&amp;lt;/tt&amp;gt;. Ebenfalls in der vorletzten Zeile muss &amp;quot;repository name&amp;quot; durch den gewünschten Repositorynamen ersetzt werden, dieser wird dann im Browser angezeigt. Die letzten beiden Zeilen von &amp;lt;tt&amp;gt;index.cgi&amp;lt;/tt&amp;gt; könnten zum Beispiel so aussehen:&lt;br /&gt;
&lt;br /&gt;
 application = hgweb(&amp;quot;/home/ihr-benutzername/hg/repository&amp;quot;, &amp;quot;Test Repository&amp;quot;)&lt;br /&gt;
 wsgicgi.launch(application)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;index.cgi&amp;lt;/tt&amp;gt; muss ausführbar sein:&lt;br /&gt;
&lt;br /&gt;
 chmod a+x index.cgi&lt;br /&gt;
&lt;br /&gt;
Ebenfalls muss eine &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; Datei in &amp;lt;tt&amp;gt;$HOME/htdocs/hg/.htaccess&amp;lt;/tt&amp;gt; mit dem folgenden Inhalt erstellt werden, damit das CGI-Skript ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
 # Anfragen an dieses Verzeichnis werden auf index.cgi umgeleitet, genauso&lt;br /&gt;
 # wie sie normalerweise auf index.html oder index.php umgeleitet werden.&lt;br /&gt;
 DirectoryIndex index.cgi&lt;br /&gt;
 &lt;br /&gt;
 # CGI Skripte erlauben.&lt;br /&gt;
 Options FollowSymlinks ExecCGI&lt;br /&gt;
&lt;br /&gt;
Die fertige Dateistruktur sieht nun so aus (&amp;lt;tt&amp;gt;...&amp;lt;/tt&amp;gt; sind Dateien des Repository):&lt;br /&gt;
&lt;br /&gt;
 $HOME/htdocs/&lt;br /&gt;
 $HOME/htdocs/hg/&lt;br /&gt;
 $HOME/htdocs/hg/.htaccess&lt;br /&gt;
 $HOME/htdocs/hg/index.cgi&lt;br /&gt;
 $HOME/hg/&lt;br /&gt;
 $HOME/hg/repository/&lt;br /&gt;
 $HOME/hg/repository/.hg&lt;br /&gt;
 $HOME/hg/repository/.hg/hgrc&lt;br /&gt;
 $HOME/hg/repository/...&lt;br /&gt;
&lt;br /&gt;
Nun kann das Repository über http://ihre-domain/hg/ betrachtet werden. Ein Klonen ist auch direkt möglich (lokal auf dem Computer, nicht auf dem Server):&lt;br /&gt;
&lt;br /&gt;
 % hg clone http://ihre-domain/hg/ repository&lt;br /&gt;
&lt;br /&gt;
Wenn auf dem Server neue Änderungen liegen, kann das lokale Repository (mit clone erstellt) mit &amp;quot;pull&amp;quot; aktualisiert werden (ebenfalls nicht auf dem Server).&lt;br /&gt;
&lt;br /&gt;
 % cd repository&lt;br /&gt;
 % hg pull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Zugriff auf das Repository mit SSH =&lt;br /&gt;
&lt;br /&gt;
Mercurial ermöglicht es Änderungen über SSH lokal von einem Computer aus an das Repository zu übertragen (&amp;quot;pushen&amp;quot;). Dazu muss SSH korrekt konfiguriert sein und das anmelden bei schokekeks.org muss funktionieren; mehr Informationen dazu unter [[Key-Login (OpenSSH)]].&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird die gleiche Verzeichnisstruktur wie oben angenommen. Für weitere Informationen dient ebenfalls wieder das Mercurial Wiki: [http://www.selenic.com/mercurial/wiki/index.cgi/SharedSSH SharedSSH] (englisch).&lt;br /&gt;
&lt;br /&gt;
Die folgenden Befehle finden alle lokal auf dem Computer statt, nicht auf dem Server.&lt;br /&gt;
&lt;br /&gt;
Zuerst muss das Repository geklont werden:&lt;br /&gt;
&lt;br /&gt;
 % hg clone ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Nun können Änderungen am lokalen Repository die auf den Server übertragen werden sollen, einfach mit &amp;quot;push&amp;quot; hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
 % cd repository&lt;br /&gt;
 % hg push&lt;br /&gt;
&lt;br /&gt;
Falls das Repository nicht direkt mit clone vom Server erstellt wurde, muss die URL angegeben werden:&lt;br /&gt;
&lt;br /&gt;
 % hg push ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Nun sind die Daten aktualisiert und können unter http://ihre-domain/hg/ betrachtet und von anderen geklont werden.&lt;br /&gt;
&lt;br /&gt;
Falls das dauerhafte angeben der URL zu mühsam ist, oder der Fehler &amp;quot;ssl required&amp;quot; beim &amp;quot;pushen&amp;quot; auftritt, muss die hgrc Datei in &amp;lt;tt&amp;gt;repository/.hg/hgrc&amp;lt;/tt&amp;gt; (lokal auf dem Computer, nicht auf dem Server)&lt;br /&gt;
bearbeitet werden. Dort einfach die folgenden Zeilen bearbeiten (natürlich anpassen):&lt;br /&gt;
&lt;br /&gt;
 [paths]&lt;br /&gt;
 default = ssh://ihr-benutzername@schokokeks.org/hg/repository/&lt;br /&gt;
&lt;br /&gt;
Dann wird automatisch zu dieser Adresse &amp;quot;gepusht&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Kratz00</name></author>
	</entry>
</feed>