<?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>Conceptric &#187; git svn</title>
	<atom:link href="http://www.conceptric.co.uk/tag/git-svn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.conceptric.co.uk</link>
	<description>Ideas and Applications</description>
	<lastBuildDate>Fri, 12 Aug 2011 13:00:25 +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>Importing a remote Subversion repository with Git</title>
		<link>http://www.conceptric.co.uk/importing-a-remote-subversion-repository-with-git.htm</link>
		<comments>http://www.conceptric.co.uk/importing-a-remote-subversion-repository-with-git.htm#comments</comments>
		<pubDate>Thu, 04 Jun 2009 12:02:38 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git svn]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.conceptric.co.uk/?p=189</guid>
		<description><![CDATA[To start this series about teaming Git with Subversion, I need to create a local copy of the Subversion Repository.]]></description>
			<content:encoded><![CDATA[<p>Lets get the obvious stuff over with, create a directory in which to initialise the local git repository.</p>

<p><code class="terminal">mkdir myproject
cd myproject
</code></p>

<p>The initialisation itself is pretty simple, just remember to point Git at the correct url for your Subversion repository, and watch the communication protocols.</p>

<p><code class="terminal oddlines">git svn init -s --prefix=svn/ svn+ssh://svn.repository.com/svn/<em>myproject</em></code></p>

<p>The <code>-s</code> option tells the repository to expect the typical trunk, branches and tags structure of a Subversion project. You can specify the location of your trunk, branches and tags using the <code>-T</code>, <code>-b</code>, and <code>-t</code> respectively.</p>

<p>Using the <code>--prefix</code> option is handy, ensuring that the remote directories will be prefixed with <code>svn/</code>. This makes it clear which are Subversion and which git branches later.</p>

<p>All that remains is to checkout all of the information relating to your project from the Subversion repository.</p>

<p><code class="terminal oddlines">git svn fetch</code></p>

<p>Depending on the size of the project, this could take a while, it&#8217;s downloading the entire project history from the remote repository.</p>

<p>I word of warning you about the strangeness that can ensue if the remote repository contains any tags. They will be imported as git branches, and you may find the local master branch pointing to something other that the remote <code>trunk</code>.</p>

<p>These <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html"><code>git svn</code> commands</a>, and all the others, are pretty well documented. Now I&#8217;ve got a Git repository, in the next post I&#8217;ll to describe my normal workflow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/importing-a-remote-subversion-repository-with-git.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advantages of a Git and Subversion blend</title>
		<link>http://www.conceptric.co.uk/advantages-of-a-git-and-subversion-blend.htm</link>
		<comments>http://www.conceptric.co.uk/advantages-of-a-git-and-subversion-blend.htm#comments</comments>
		<pubDate>Sat, 30 May 2009 19:48:23 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git svn]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.conceptric.co.uk/?p=187</guid>
		<description><![CDATA[I've had time to try Git with my remote Subversion repositories, using the <code>git svn</code> commands, and I wouldn't go back. To start this small series, I'll try to explain the enthusiasm.]]></description>
			<content:encoded><![CDATA[<p>Using <a href="http://git-scm.com/">Git</a> as a front-end to Subversion provides more comprehensive version control and flexibility in the way I work, especially for a laptop user. Everything is under active version control, with or without a connection to the remote Subversion repository.</p>

<p>Branching and merging is quick and simple, and as a result I find I do this far more often than when using Subversion alone. I also commit changes more frequently: it&#8217;s far quicker than using a remote repository, even when not off-line.</p>

<p>This sort of functionality is vital to successful version control, and I think it promotes better practice, as long as you&#8217;re only committing working software. All the local Git commits will later be bulk committed to the remote repository. However they all retain their identity as separate versions, so discipline is important, we wouldn&#8217;t want anyone finding broken code.</p>

<p>I could get all this from Git alone, but the combination retains Subversion vendor branching and the deployment advantages of my existing Subversion / Capistrano set up. I&#8217;m going to try <a href="http://github.com/">GitHub</a>, or my own remote Git repository, and exploiting the Capistrano support for Git, but at the moment why reinvent the wheel?</p>

<p>I prefer to work on the command line, and that&#8217;s the approach this series will take, but <a href="http://quiteuseful.co.uk/post/97148287/git-guis">GUIs are available for Git</a>, try typing <a href="http://www.kernel.org/pub/software/scm/git/docs/git-gui.html"><code>git gui</code></a> to check out the one bundled.</p>

<p>I use this approach for anything I need version controlled, including my Curriculum vitae/Resume, but before try this out for yourself you&#8217;re going to need to check out a local copy of that remote Subversion repository&#8230; I&#8217;ll cover that next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/advantages-of-a-git-and-subversion-blend.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

