<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.illusori.co.uk/xsl/rss.xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Sam's Blog &gt; Github</title>
    <link>http://www.illusori.co.uk/blog/categories/github/</link>
    <description>Sam's Blog, feed for category github</description>
    <language>en-gb</language>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <pubDate>Thu, 09 Sep 2010 15:32:00 GMT</pubDate>
    <lastBuildDate>Thu, 09 Sep 2010 15:32:00 GMT</lastBuildDate>
    <generator>build_site 1.0</generator>
    <webMaster>rss@illusori.co.uk</webMaster>

    <item>
      <title><![CDATA[All my published projects are now on GitHub]]></title>
      <link>http://www.illusori.co.uk/blog/2010/09/09/projects_on_github.html</link>
      <description><![CDATA[<p>Been a busy couple of weeks, but just thought I&#39;d mention in case any
of my previous contributors are interested: all my published projects
are now <a href="http://github.com/illusori">available on GitHub</a>.</p>
<p>Converting from CVS to git was surprisingly painless, although complicated
by the fact that each project repository had a public and private part, since
I manage each project&#39;s section of my website as part of the project, and
I doubt anyone else has much use for the mishmash of templates and config
files I use for that.</p>
<p>It was pretty easy add a regexp to prune out the bits I didn&#39;t want, convert
my unix login to my git user details, and shift everything up a directory
with the following commands:</p>
<div class="code">
<div class="codebody"><pre><div>git cvsimport -v -d /opt/cvs -S &#39;(bin/|site/)&#39; \
  -C git-Text-Matrix Text-Matrix \
  -A ~/git-cvsimport-authorconv.txt
cd git-Text-Matrix
git mv src/* .
rmdir src
git commit -m &#39;Shifted everything up a directory so repository root matches public section of old CVS project.&#39;</div></pre></div>
</div>

<p>I then did the same for the private directories and then placed the newly
created directories back under my old project dir as separate git repositories.</p>
<p>Things seem to test OK, although looks like I&#39;ve been a bit inconsistent
with whether I&#39;ve included generated files like MANIFEST and META.yml from
project to project.
I expect that&#39;ll sort itself out next time I work on any given project.</p>
<p>I really am kicking myself for sticking to CVS so long rather than giving
git a try, if anyone else is lingering: make the effort, it&#39;ll repay itself
within days.</p>
<p>Git honestly makes it <i>effortless</i> to do all those &quot;Best Practice&quot;
things you never quite do with CVS because it&#39;s too much hassle.</p>
<p>GitHub is just icing on the cake.</p><p><a href="http://www.illusori.co.uk/blog/2010/09/09/projects_on_github.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>git</category>
      <category>github</category>
      <pubDate>Thu, 09 Sep 2010 15:32:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/09/09/projects_on_github.html</guid>
    </item>

  </channel>
</rss>
