<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP Log &#187; svn</title>
	<atom:link href="http://www.php-log.de/tags/svn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.php-log.de</link>
	<description>Eine feine Sammlung nützlicher PHP Notizen</description>
	<lastBuildDate>Mon, 20 Sep 2010 00:22:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Subversion &#8211; Aufgaben mit der Kommandozeile lösen</title>
		<link>http://www.php-log.de/272/php/subversion-aufgaben-mit-der-kommandozeile-losen</link>
		<comments>http://www.php-log.de/272/php/subversion-aufgaben-mit-der-kommandozeile-losen#comments</comments>
		<pubDate>Tue, 05 May 2009 17:37:51 +0000</pubDate>
		<dc:creator>ralle</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.php-log.de/?p=272</guid>
		<description><![CDATA[In diesem Artikel werde ich mit der Zeit, einige Lösungen für typische Aufgaben die bei täglichen Arbeit mit Subversion anfallen, dokumentieren Hinzugefügte Dateien wieder entfernen Ab und an kommt es vor dass man eine Datei oder einen Ordner der bereits mit svn add name hinzugefügt, aber noch nicht commited hat, wieder entfernen möchte. Mir passiert [...]]]></description>
			<content:encoded><![CDATA[<p>In diesem Artikel werde ich mit der Zeit, einige Lösungen für typische Aufgaben die bei täglichen Arbeit mit Subversion anfallen, dokumentieren<span id="more-272"></span></p>
<h2>Hinzugefügte Dateien wieder entfernen</h2>
<p>Ab und an kommt es vor dass man eine Datei oder einen Ordner der bereits mit <code>svn add name</code> hinzugefügt, aber noch nicht commited hat, wieder entfernen möchte. Mir passiert das Regelmäßig wenn ich einen kompletten Ordner hinzugefügt habe und dann feststelle, dass sich in diesem Ordner Dateien oder Unterordner befinden die ich eigentlich gar nicht unter SVN Kontrolle haben möchte. Solange noch nicht commited wurde ist die Lösung einfach <code>svn revert</code> hilft weiter. Ein Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">svn revert --recursive .</pre></div></div>

<p>Dieses Kommando wirkt rekursiv auf Dateien und Ordner und Unterordner ab dem aktuellen Verzeichnis.</p>
<p>Aber Achtung, wenn die Dateien schon commited wurden, werden alle Änderungen an den Dateien wieder Rückgängig gemacht. Das Handbuch sagt, dass in <a href="http://svnbook.red-bean.com/en/1.2/svn-book.html#svn.tour.cycle.examine.revert" target="_blank">diesem Fall</a> ein <code>svn revert datei</code> wirkt wie:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">svn update -r BASE datei</pre></div></div>

<blockquote><p>Besser ist es, man hat ein Backup!</p></blockquote>
<h2>Herausfinden welche Dateien noch nicht unter Subversion Kontrolle stehen</h2>
<p>Das Kommondo <code>svn status</code> sollte jeder kennen der mit Subversion arbeitet. es gibt viele nützliche Informationen über den Status des lokalen Repositories. Bei großen Projekte mit vielen beweglichen Daten, z.b. Grafiken, die besser nicht unter SVN gehalten werden, kann es sinnvoll die Ausgabe mit grep zu filtern.</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;"># Zeigt alle Dateien die nicht unter SVN Kontrolle stehen
svn status | grep ^?</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;"># Zeigt nur .sql Dateien die nicht unter SVN Kontrolle stehen
svn status | grep ^? | grep .sql</pre></div></div>

<h2>Ein Repository löschen</h2>
<p>Das Löschen eines Repositories ist denkbar einfach, es muss nur komplett gelöscht werden. Sinnvoll ist aber in jedem Fall vorher ein Dump anzulegen.</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;"># dump erzeugen und komprimieren
svnadmin dump -q /repos_name | bzip2 -c &gt; repos_name.dump.bz2
&nbsp;
# Repository engültig löschen
rm -rf repos_name</pre></div></div>

<h2>Alle .svn Verzeichnisse löschen</h2>
<p>Manchmal, wenn man sich die Dinge zurechtkopiert, möchte man alle .svn Verzeichnisse löschen die sich in einem bestimmten Verzeichnis befinden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Alle .svn Verzeichnisse löschen</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-name</span> <span style="color: #ff0000;">&quot;.svn&quot;</span> <span style="color: #660033;">-exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.php-log.de/272/php/subversion-aufgaben-mit-der-kommandozeile-losen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

