<?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>Mithro rants about stuff &#187; Tailor</title>
	<atom:link href="http://blog.mithis.net/archives/category/rcs/tailor/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.mithis.net</link>
	<description></description>
	<lastBuildDate>Sun, 03 Jan 2010 04:10:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Tailor to go to git</title>
		<link>http://blog.mithis.net/archives/tp/35-using-tailor-to-go-to-git</link>
		<comments>http://blog.mithis.net/archives/tp/35-using-tailor-to-go-to-git#comments</comments>
		<pubDate>Sat, 21 Apr 2007 08:17:42 +0000</pubDate>
		<dc:creator>mithro</dc:creator>
				<category><![CDATA[Tailor]]></category>
		<category><![CDATA[Thousand Parsec]]></category>
		<category><![CDATA[darcs]]></category>

		<guid isPermaLink="false">http://blog.mithis.net/archives/uncategorized/35-using-tailor-to-go-to-git</guid>
		<description><![CDATA[As our code repositories for Thousand Parsec where down anyway (because of the host being compromised), we decided to do something we had been thinking about for a while. We converted all our code repositories to git.
We had previously been using darcs, however the unbounded memory usage was getting out of hand. The straw which [...]]]></description>
			<content:encoded><![CDATA[<p>As our code repositories for Thousand Parsec where down anyway (<a href="http://www.thousandparsec.net/tp/news.php/2007-04-14-1400">because of the host being compromised</a>), we decided to do something we had been thinking about for a while. We converted all our code repositories to git.</p>
<p>We had previously been using <a href="http://darcs.net">darcs</a>, however the unbounded memory usage was getting out of hand. The straw which broke the camel&#8217;s back was when nash couldn&#8217;t even checkout the web repository because darcs kept getting killed by the Out of Memory Manager (on a machine which has more then 512Mb of RAM).</p>
<p>After much discussion we decided to move to <a href="http://git.or.cz/">git</a>. The biggest reason we choose to use git was that we didn&#8217;t want to get stuck with another non-mainstream SCM system. With large people like <a href="http://www.freedesktop.org/wiki/Infrastructure/git">Xorg</a>, the <a href="http://www.kernel.org/">Linux Kernel</a> and many others, I&#8217;m pretty sure git will become the SCM of choice in the near future.</p>
<p>As I had previously had a large amount of experience <a href="http://blog.mithis.com/2007/02/25/using-tailor-creating-subversion-repository-for-thousand-parsec/">converting the darcs repositories to subversion</a> (for our mirrors), I was put in charge of converting the repositories to git. As previously, I used <a href="http://progetti.arstecnica.it/tailor">Tailor</a>.</p>
<p>The first problem is that darcs has <a href="http://darcs.net/DarcsWiki/DarcsGit">git repository support</a>. The suppose solution to this is using <a href="http://progetti.arstecnica.it/tailor/wiki/DisjunctWorkingDirectories">disjunct working directories</a>. However, git did not appear to like this, I need to hack up the source code to get it to work. I&#8217;ve submitted the patches back the Tailor repository and they have already been included!</p>
<p>Another problem I ran into was that I don&#8217;t have a machine which has enough memory to convert the web repository! I don&#8217;t have a computer with more then 768mb of ram (feel free to send me some more if you want! <img src='http://blog.mithis.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). Luckily thanks to the <a href="http://code.google.com/soc/">Summer of Code</a>, a student who goes by the name cherez (who I was very disappointed we didn&#8217;t have enough slots to select) gave me a shell account on his machine with 4Gb of Ram.</p>
<p>As a result of converting to git, I was also able to merge the development and stable branches (of both tpclient-pywx and libtpclient-py) into one repository. This was a little bit trickier then I would have liked, it involved finding the branch point manually and then telling tailor about it, in the end it worked out. You can find a copy of the config I used for branching <a href="http://www.thousandparsec.net/~tim/tailor/tpclient-pywx-dev.tailor">here</a>.</p>
<p>You can see the results of our conversion at our <a href="http://git.thousandparsec.net/">gitweb</a>.</p>
<p>I have to say, I&#8217;m amazed by git. Every single operation is very, very fast, I guess it&#8217;s why they called themselves &#8220;Git &#8211; Fast Version Control System&#8221;. Another thing that amazes me is the size of the repositories, under darcs our repositories where about 4Gb, with git they are around 200Mb! Overall, I&#8217;m happy with our choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mithis.net/archives/tp/35-using-tailor-to-go-to-git/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
