<?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>Xavier Llorà &#187; svn</title>
	<atom:link href="http://www.xavierllora.net/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xavierllora.net</link>
	<description>A notebook on data-intensive computing, genetics-based machine learning &#38; more.</description>
	<lastBuildDate>Sun, 08 Jan 2012 19:39:15 +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>Merging separate SVN repositories</title>
		<link>http://www.xavierllora.net/2008/05/27/merging-separate-svn-repositories/</link>
		<comments>http://www.xavierllora.net/2008/05/27/merging-separate-svn-repositories/#comments</comments>
		<pubDate>Tue, 27 May 2008 12:18:35 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=229</guid>
		<description><![CDATA[I needed to merge together several SVN repositories together. After browsing a bit, I found a simple perl script named svn-merge-repos.pl published on December 2007 by Fabien Coelho. This script allows you to merge multiple repositories, properly interleaving the revisions by date. It also allows you to set specific target paths for the repositories being [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>I needed to merge together several SVN repositories together. After browsing a bit, I found <a title="svn-merge-repos.pl" href="http://www.cri.ensmp.fr/~coelho/svn-merge-repos.html">a simple perl script named svn-merge-repos.pl</a> published on December 2007 by <a title="Fabien Coelho" href="http://www.cri.ensmp.fr/~coelho/">Fabien Coelho</a>. This script allows you to merge multiple repositories, properly interleaving the revisions by date. It also allows you to set specific target paths for the repositories being merged. The only issue I ran into was the limitation that you cannot target the same new directory as  the destination for multiple repository sources on the same run. You can get around it using the usual <em>svnadmin dump</em> and <em>svnadmin load </em>sequence, but it is not as beautiful and it does not interleave the revisions&#8230;</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2008/05/27/merging-separate-svn-repositories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVNKit or analyzing SVN content in Java</title>
		<link>http://www.xavierllora.net/2008/05/20/svnkit-or-analyzing-svn-content-in-java/</link>
		<comments>http://www.xavierllora.net/2008/05/20/svnkit-or-analyzing-svn-content-in-java/#comments</comments>
		<pubDate>Tue, 20 May 2008 14:47:52 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[data processing]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=220</guid>
		<description><![CDATA[The other day I was looking for a piece of software that could help me pull data out of SVN repository so I can do a little analysis on it. Browsing over the net, I run into several tools, but the one that finally caught my eye was SNVKit. The package does a lot of [...]
Related posts:<ol>
<li><a href='http://www.xavierllora.net/2009/02/04/efficient-serialization-for-java-and-beyond/' rel='bookmark' title='Efficient serialization for Java (and beyond)'>Efficient serialization for Java (and beyond)</a></li>
<li><a href='http://www.xavierllora.net/2007/04/14/visualizing-content-from-metadata-stores/' rel='bookmark' title='Visualizing content from metadata stores'>Visualizing content from metadata stores</a></li>
<li><a href='http://www.xavierllora.net/2006/07/07/analyzing-active-interactive-genetic-algorithms-using-visual-analytics/' rel='bookmark' title='Analyzing active interactive genetic algorithms using visual analytics'>Analyzing active interactive genetic algorithms using visual analytics</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The other day I was looking for a piece of software that could help me pull data out of SVN repository so I can do a little analysis on it. Browsing over the net, I run into several tools, but the one that finally caught my eye was <a title="SVNKit" href="http://svnkit.com/">SNVKit</a>. The package does a lot of stuff, but for instance, if you are only interested on pulling information out, it makes your like quite easy. The code below is just a simple example of how you can use it to pull information out of a SVN repository.</p>
<pre class="brush: java">
import java.util.LinkedList;

import org.tmatesoft.svn.core.ISVNDirEntryHandler;
import org.tmatesoft.svn.core.SVNDirEntry;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl;
import org.tmatesoft.svn.core.internal.wc.admin.SVNEntry;
import org.tmatesoft.svn.core.wc.SVNClientManager;
import org.tmatesoft.svn.core.wc.SVNLogClient;
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.SVNNodeKind;

public class SVNReader {

    public static void main ( String [] sArgs ) throws SVNException {
          final LinkedList&lt;SVNDirEntry&gt; lstFiles = new LinkedList&lt;SVNDirEntry&gt;();

          SVNRepositoryFactoryImpl.setup();

          SVNClientManager clientManager = SVNClientManager.newInstance();

          SVNLogClient lc = clientManager.getLogClient();
          SVNURL svnUrl = SVNURL.parseURIDecoded(
                    &quot;svn://some.server.com:3690/path/to/trunk&quot;
                    );
          lc.doList(svnUrl, SVNRevision.HEAD,  SVNRevision.HEAD, false, true, new ISVNDirEntryHandler() {
                    public void handleDirEntry(SVNDirEntry svnEntry) throws SVNException {
                              if ( svnEntry.getKind()==SVNNodeKind.FILE) {
                                        lstFiles.add(svnEntry);
                              }
                    }
          });

          for ( SVNDirEntry svnEntry:lstFiles ) {
                    System.out.println(svnEntry);
          }
      }
}
</pre>
<p> </p>
<p>Related posts:<ol>
<li><a href='http://www.xavierllora.net/2009/02/04/efficient-serialization-for-java-and-beyond/' rel='bookmark' title='Efficient serialization for Java (and beyond)'>Efficient serialization for Java (and beyond)</a></li>
<li><a href='http://www.xavierllora.net/2007/04/14/visualizing-content-from-metadata-stores/' rel='bookmark' title='Visualizing content from metadata stores'>Visualizing content from metadata stores</a></li>
<li><a href='http://www.xavierllora.net/2006/07/07/analyzing-active-interactive-genetic-algorithms-using-visual-analytics/' rel='bookmark' title='Analyzing active interactive genetic algorithms using visual analytics'>Analyzing active interactive genetic algorithms using visual analytics</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2008/05/20/svnkit-or-analyzing-svn-content-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

