<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.11" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Upgrading Drupal with Git</title>
	<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/</link>
	<description>Version control, software configuration management (SCM)</description>
	<pubDate>Mon, 08 Sep 2008 08:30:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.11</generator>

	<item>
		<title>by: drew</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-1266</link>
		<pubDate>Thu, 26 Jun 2008 00:12:10 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-1266</guid>
					<description>This is very useful, thanks. 
There is a mirror of the entire Drupal cvs tree here, http://mikkel.hoegh.org/blog/2008/a_git_mirror_for_drupal_cvs 

This means you can use the Drupal Git repository (sounds like a fun place) as the pristine version and clone or branch it into other sites. I'm not to sure if having the entire Drupal tree is a good idea though, since Git will pass the whole history from clone to clone. It makes it ridiculously easy to switch drupal versions for testing.

The best thing about this method is that it doesn't break the update status module like working with a cvs checkout does.</description>
		<content:encoded><![CDATA[<p>This is very useful, thanks.<br />
There is a mirror of the entire Drupal cvs tree here, <a href="http://mikkel.hoegh.org/blog/2008/a_git_mirror_for_drupal_cvs" rel="nofollow">http://mikkel.hoegh.org/blog/2008/a_git_mirror_for_drupal_cvs</a> </p>
<p>This means you can use the Drupal Git repository (sounds like a fun place) as the pristine version and clone or branch it into other sites. I&#8217;m not to sure if having the entire Drupal tree is a good idea though, since Git will pass the whole history from clone to clone. It makes it ridiculously easy to switch drupal versions for testing.</p>
<p>The best thing about this method is that it doesn&#8217;t break the update status module like working with a cvs checkout does.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-797</link>
		<pubDate>Fri, 22 Feb 2008 20:46:12 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-797</guid>
					<description>benjamin,

fixed!  stupid wordpress.</description>
		<content:encoded><![CDATA[<p>benjamin,</p>
<p>fixed!  stupid wordpress.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: benjamin</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-779</link>
		<pubDate>Mon, 18 Feb 2008 13:18:07 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-779</guid>
					<description>this line:
$ tar –strip-components=1 -C drupal -zxv -f drupal-5.2.tar.gz

results in this error:
tar: You may not specify more than one `-Acdtrux' option

Urgh.  That's the line that's supposed to make all of this worthwhile  :-P

(I have read the tar man page more times than -- ah, I got it.  It needs to be doule-dash for a long-form command!)

Needs to be:

&lt;code&gt;$ tar --strip-components=1 -C drupal -zxv -f drupal-5.2.tar.gz&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>this line:<br />
$ tar –strip-components=1 -C drupal -zxv -f drupal-5.2.tar.gz</p>
<p>results in this error:<br />
tar: You may not specify more than one `-Acdtrux&#8217; option</p>
<p>Urgh.  That&#8217;s the line that&#8217;s supposed to make all of this worthwhile  :-P</p>
<p>(I have read the tar man page more times than &#8212; ah, I got it.  It needs to be doule-dash for a long-form command!)</p>
<p>Needs to be:</p>
<p><code>$ tar --strip-components=1 -C drupal -zxv -f drupal-5.2.tar.gz</code>
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-760</link>
		<pubDate>Sun, 10 Feb 2008 17:35:54 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-760</guid>
					<description>hofo,

in short: merging will be much more tedious and error-prone.

In Git, merging really works like a charm. 

In Subversion -- wait for 1.5 where repeated merging will be much more integrated.</description>
		<content:encoded><![CDATA[<p>hofo,</p>
<p>in short: merging will be much more tedious and error-prone.</p>
<p>In Git, merging really works like a charm. </p>
<p>In Subversion &#8212; wait for 1.5 where repeated merging will be much more integrated.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-759</link>
		<pubDate>Sun, 10 Feb 2008 17:34:11 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-759</guid>
					<description>santry,

I believe that for tutorial my approach of multiple clones is much more accessible.

First, it's easy to "screw up" the repository if you're doing heavy branches here.   My target audience is not Git experts, so they will have trouble if mental model is out of sync with the repository state.

Second, you will usually have several sites under this scheme, and it's easier to just rsync the directory without worrying which branch is currently checked out there. 

Third, I have to admit with a shame that I do not completely understand how branches work in Git -- I just didn't have the chance to use it in production.</description>
		<content:encoded><![CDATA[<p>santry,</p>
<p>I believe that for tutorial my approach of multiple clones is much more accessible.</p>
<p>First, it&#8217;s easy to &#8220;screw up&#8221; the repository if you&#8217;re doing heavy branches here.   My target audience is not Git experts, so they will have trouble if mental model is out of sync with the repository state.</p>
<p>Second, you will usually have several sites under this scheme, and it&#8217;s easier to just rsync the directory without worrying which branch is currently checked out there. </p>
<p>Third, I have to admit with a shame that I do not completely understand how branches work in Git &#8212; I just didn&#8217;t have the chance to use it in production.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-758</link>
		<pubDate>Sun, 10 Feb 2008 17:27:32 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-758</guid>
					<description>benjamin,

thank you for bug reports -- I've fixed them all.

I believe you should use the new submodules features in Git 1.5.3.   You would create ordinary Git repository with your development module, using git-cvsimport for tracking the CVS repository. 

Then you would use this repository as a submodule of your drupal-and-modules repository.  

Tutorial is available: http://git.or.cz/gitwiki/GitSubmoduleTutorial

So, the changes will flow 1. from Drupal CVS to your module repo; 2. from your module repo to the drupal-and-modules.   When you'll commit something of your work to the Drupal CVS, I guess everything will just merge automatically.</description>
		<content:encoded><![CDATA[<p>benjamin,</p>
<p>thank you for bug reports &#8212; I&#8217;ve fixed them all.</p>
<p>I believe you should use the new submodules features in Git 1.5.3.   You would create ordinary Git repository with your development module, using git-cvsimport for tracking the CVS repository. </p>
<p>Then you would use this repository as a submodule of your drupal-and-modules repository.  </p>
<p>Tutorial is available: <a href="http://git.or.cz/gitwiki/GitSubmoduleTutorial" rel="nofollow">http://git.or.cz/gitwiki/GitSubmoduleTutorial</a></p>
<p>So, the changes will flow 1. from Drupal CVS to your module repo; 2. from your module repo to the drupal-and-modules.   When you&#8217;ll commit something of your work to the Drupal CVS, I guess everything will just merge automatically.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: hofo</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-755</link>
		<pubDate>Thu, 07 Feb 2008 18:36:31 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-755</guid>
					<description>I'm not very familiar with git. Is there anything here that would be more difficult to do with svn?</description>
		<content:encoded><![CDATA[<p>I&#8217;m not very familiar with git. Is there anything here that would be more difficult to do with svn?
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: santry</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-752</link>
		<pubDate>Tue, 05 Feb 2008 15:42:57 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-752</guid>
					<description>You've got some great ideas here for managing a Drupal installation with git, but I think it can be made a little simpler.

I think using branches, instead of repository clones, for drupal, drupal-and-modules and drupal-production would be more natural to git. For example, you would create the original git repository exactly the same way, but instead of "git-clone drupal drupal-and-modules" you would simply stain in your "drupal" repository and create a "drupal-and-modules" branch:

git checkout -b drupal-and-modules

You would then branch off again for drupal production:

# from your drupal repository on the drupal-and-modules branch
git checkout -b drupal-production

Then, when you need to upgrade drupal, you just checkout the master branch

git checkout master

Perform the same upgrade steps, then merge to the other branches when you're ready.</description>
		<content:encoded><![CDATA[<p>You&#8217;ve got some great ideas here for managing a Drupal installation with git, but I think it can be made a little simpler.</p>
<p>I think using branches, instead of repository clones, for drupal, drupal-and-modules and drupal-production would be more natural to git. For example, you would create the original git repository exactly the same way, but instead of &#8220;git-clone drupal drupal-and-modules&#8221; you would simply stain in your &#8220;drupal&#8221; repository and create a &#8220;drupal-and-modules&#8221; branch:</p>
<p>git checkout -b drupal-and-modules</p>
<p>You would then branch off again for drupal production:</p>
<p># from your drupal repository on the drupal-and-modules branch<br />
git checkout -b drupal-production</p>
<p>Then, when you need to upgrade drupal, you just checkout the master branch</p>
<p>git checkout master</p>
<p>Perform the same upgrade steps, then merge to the other branches when you&#8217;re ready.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: benjamin</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-746</link>
		<pubDate>Fri, 01 Feb 2008 16:43:44 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-746</guid>
					<description>Also, this didn't work:  git-commit adsense -m “Adsense 5.x-1.6 imported”

The commit command doesn't seem to repeat the directory just added, but should just be:

git-commit -m “Adsense 5.x-1.6 imported”</description>
		<content:encoded><![CDATA[<p>Also, this didn&#8217;t work:  git-commit adsense -m “Adsense 5.x-1.6 imported”</p>
<p>The commit command doesn&#8217;t seem to repeat the directory just added, but should just be:</p>
<p>git-commit -m “Adsense 5.x-1.6 imported”
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: benjamin</title>
		<link>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-745</link>
		<pubDate>Fri, 01 Feb 2008 01:52:06 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/#comment-745</guid>
					<description>Note that the step for going to the 'modules' directory misses a step and contains a typo:

First, the directory 'modules' must be created (in Drupal 5)

mkdir sites/all/modules

Second, it is 'sites' not 'site'

cd sites/all/modules</description>
		<content:encoded><![CDATA[<p>Note that the step for going to the &#8216;modules&#8217; directory misses a step and contains a typo:</p>
<p>First, the directory &#8216;modules&#8217; must be created (in Drupal 5)</p>
<p>mkdir sites/all/modules</p>
<p>Second, it is &#8217;sites&#8217; not &#8217;site&#8217;</p>
<p>cd sites/all/modules
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
