<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: WordPress Updates via SVN</title>
	<atom:link href="http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/feed" rel="self" type="application/rss+xml" />
	<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn</link>
	<description>Alex King's blog - software, photography, sports, etc.</description>
	<lastBuildDate>Sat, 20 Mar 2010 19:46:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Joshua</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-66025</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Thu, 15 Jan 2009 22:50:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-66025</guid>
		<description>Just wanted to update this post with the following links, which describe how to use vendor branches to achieve this goal:

http://techblog.touchbasic.com/html/using-subversion-with-wordpress-part-1-creating-vendor-branches-and-integrating-your-existing-code/

http://techblog.touchbasic.com/html/using-subversion-with-wordpress-part-2-maintaining-vendor-branches-and-upgrading-wp-core-files/</description>
		<content:encoded><![CDATA[<p>Just wanted to update this post with the following links, which describe how to use vendor branches to achieve this goal:</p>
<p><a href="http://techblog.touchbasic.com/html/using-subversion-with-wordpress-part-1-creating-vendor-branches-and-integrating-your-existing-code/" >http://techblog.touc[...]isting-code/</a></p>
<p><a href="http://techblog.touchbasic.com/html/using-subversion-with-wordpress-part-2-maintaining-vendor-branches-and-upgrading-wp-core-files/" >http://techblog.touc[...]-core-files/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony Ettinger</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-61569</link>
		<dc:creator>Anthony Ettinger</dc:creator>
		<pubDate>Sat, 23 Feb 2008 07:35:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-61569</guid>
		<description>@Shanti - &quot;Whenever WordPress releases a new version, we update our private svn repo, make sure our changes are still in thereâ€¦ then svn up on each of the blogs.&quot;

I&#039;d like to know how you maintain local changes on each site with only an &#039;svn up&#039; to get your modified wordpress files.</description>
		<content:encoded><![CDATA[<p>@Shanti &#8211; &#8220;Whenever WordPress releases a new version, we update our private svn repo, make sure our changes are still in thereâ€¦ then svn up on each of the blogs.&#8221;</p>
<p>I&#8217;d like to know how you maintain local changes on each site with only an &#8217;svn up&#8217; to get your modified wordpress files.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Scheuermann</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-16558</link>
		<dc:creator>Ryan Scheuermann</dc:creator>
		<pubDate>Thu, 20 Apr 2006 17:19:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-16558</guid>
		<description>You can still retain your modified WP in SVN and use Apache Ant build scripts to deploy the code to your servers.  I&#039;m using the Eclipse IDE with subclipse and svnant installed to do just that.   

http://acm.cs.ucla.edu/wiki/index.php/SVN_and_Eclipse_introduction

My Ant build scripts simply check out code from different repositories into a temp build directory and FTP that to the appropriate server.  It just drops my customized repository code (that only contains my core changes) on top of the trunk/branch.

The hard part is then making sure your customized repository contains all the core files you modified and making sure those core files are updated with the latest code, which was detailed before using diff patchs.   That way, you can keep different repositories that hold your plugins and themes unique to each install.</description>
		<content:encoded><![CDATA[<p>You can still retain your modified WP in SVN and use Apache Ant build scripts to deploy the code to your servers.  I&#8217;m using the Eclipse IDE with subclipse and svnant installed to do just that.   </p>
<p><a href="http://acm.cs.ucla.edu/wiki/index.php/SVN_and_Eclipse_introduction" >http://acm.cs.ucla.e[...]introduction</a></p>
<p>My Ant build scripts simply check out code from different repositories into a temp build directory and FTP that to the appropriate server.  It just drops my customized repository code (that only contains my core changes) on top of the trunk/branch.</p>
<p>The hard part is then making sure your customized repository contains all the core files you modified and making sure those core files are updated with the latest code, which was detailed before using diff patchs.   That way, you can keep different repositories that hold your plugins and themes unique to each install.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Use svn:externals to install WordPress plugins &#124; FuCoder.com</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-16325</link>
		<dc:creator>Use svn:externals to install WordPress plugins &#124; FuCoder.com</dc:creator>
		<pubDate>Thu, 20 Apr 2006 07:55:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-16325</guid>
		<description>[...] This post is inspired by Alex King&#8217;s WordPress updates via Subversion. [...]</description>
		<content:encoded><![CDATA[<p>[...] This post is inspired by Alex King&#8217;s WordPress updates via Subversion. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shanti</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-12051</link>
		<dc:creator>Shanti</dc:creator>
		<pubDate>Fri, 24 Mar 2006 00:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-12051</guid>
		<description>Alex - the only way you are going to get around not having to &#039;svn up&#039; on four different sites, is if they are on the same server.

Then you can just symlink the directories... but that makes things hairy with uploads.

Either that, or not keep your modified WP in subversion... and use FTP (*gah*) to get your latest version on there =)

My $.02 - there is no simple magic one-step bullet, w/o writing a really complicated shell script.

We&#039;re actually doing this on the NinerNiner.com network of blogs - each have a modified version of WP that we use.

Whenever WordPress releases a new version, we update our private svn repo, make sure our changes are still in there... then svn up on each of the blogs.

Of course, with 24 blogs, we have a shell script that does that =)</description>
		<content:encoded><![CDATA[<p>Alex &#8211; the only way you are going to get around not having to &#8217;svn up&#8217; on four different sites, is if they are on the same server.</p>
<p>Then you can just symlink the directories&#8230; but that makes things hairy with uploads.</p>
<p>Either that, or not keep your modified WP in subversion&#8230; and use FTP (*gah*) to get your latest version on there =)</p>
<p>My $.02 &#8211; there is no simple magic one-step bullet, w/o writing a really complicated shell script.</p>
<p>We&#8217;re actually doing this on the NinerNiner.com network of blogs &#8211; each have a modified version of WP that we use.</p>
<p>Whenever WordPress releases a new version, we update our private svn repo, make sure our changes are still in there&#8230; then svn up on each of the blogs.</p>
<p>Of course, with 24 blogs, we have a shell script that does that =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11859</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Tue, 14 Mar 2006 02:58:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11859</guid>
		<description>Sure, but isn&#039;t it easier to pull WP into my own SVN, apply my changes, then type svn up on the 4 sites? Otherwise I have to svn up each site and merge my changes. That&#039;s what this whole post is about. :)</description>
		<content:encoded><![CDATA[<p>Sure, but isn&#8217;t it easier to pull WP into my own SVN, apply my changes, then type svn up on the 4 sites? Otherwise I have to svn up each site and merge my changes. That&#8217;s what this whole post is about. <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wincent Colaiuta</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11858</link>
		<dc:creator>Wincent Colaiuta</dc:creator>
		<pubDate>Tue, 14 Mar 2006 02:19:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11858</guid>
		<description>Yeah, but I think it helps. Instead of painstakingly merging changes on four different installs, you just type &quot;svn update&quot; four times.</description>
		<content:encoded><![CDATA[<p>Yeah, but I think it helps. Instead of painstakingly merging changes on four different installs, you just type &#8220;svn update&#8221; four times.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11826</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Sun, 12 Mar 2006 19:30:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11826</guid>
		<description></description>
		<content:encoded><![CDATA[<blockquote><p>If you wanted to make local changes and redistribute them you could do an â€œsvn diffâ€? and redistribute the diff, but i donâ€™t think you can check out from the authoritative WordPress repository and then commit changes to some other, local repository.</p></blockquote>
<p>Right, that is one of the possible solutions I listed.</p>
<p>I think your suggestion works great for managing a single install, but doesn&#8217;t address the problem I&#8217;m talking about here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wincent Colaiuta</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11825</link>
		<dc:creator>Wincent Colaiuta</dc:creator>
		<pubDate>Sun, 12 Mar 2006 19:24:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11825</guid>
		<description>My suggestion (and the way Bugzilla updates via CVS work) is that you do updates like this:

1. Initial checkout (instead of a normal install).

2. Apply your changes.

3. Do future updates using the &quot;svn update&quot; command. This should merge updates from the repository into your local working copy, preserving your local changes and only requiring intervention in the event of an unresolvable conflict (which you&#039;ll have to resolve by hand).

In my experience with Bugzilla and a customized install (http://bugs.wincent.com/)I&#039;ve never had an unresolveable conflict and upgrades have been quick and painless.

Bugzilla does provide a &quot;stable&quot; tag. I don&#039;t know if WordPress does the same. You could specify a specific revision number using the &quot;-r&quot; command line switch (ie. rather than updating to HEAD).

This is a very easy way to keep multiple installs up-to-date even if they have customizations. It&#039;s not really intended for the use that you mention in your last comment (&quot;make changes, commit them to my own repository, and then distribute those updates&quot;). If you wanted to make local changes and redistribute them you could do an &quot;svn diff&quot; and redistribute the diff, but i don&#039;t think you can check out from the authoritative WordPress repository and then commit changes to some other, local repository.</description>
		<content:encoded><![CDATA[<p>My suggestion (and the way Bugzilla updates via CVS work) is that you do updates like this:</p>
<p>1. Initial checkout (instead of a normal install).</p>
<p>2. Apply your changes.</p>
<p>3. Do future updates using the &#8220;svn update&#8221; command. This should merge updates from the repository into your local working copy, preserving your local changes and only requiring intervention in the event of an unresolvable conflict (which you&#8217;ll have to resolve by hand).</p>
<p>In my experience with Bugzilla and a customized install (<a href="http://bugs.wincent.com/)I" >http://bugs.wincent.com/)I</a>&#8216;ve never had an unresolveable conflict and upgrades have been quick and painless.</p>
<p>Bugzilla does provide a &#8220;stable&#8221; tag. I don&#8217;t know if WordPress does the same. You could specify a specific revision number using the &#8220;-r&#8221; command line switch (ie. rather than updating to HEAD).</p>
<p>This is a very easy way to keep multiple installs up-to-date even if they have customizations. It&#8217;s not really intended for the use that you mention in your last comment (&#8220;make changes, commit them to my own repository, and then distribute those updates&#8221;). If you wanted to make local changes and redistribute them you could do an &#8220;svn diff&#8221; and redistribute the diff, but i don&#8217;t think you can check out from the authoritative WordPress repository and then commit changes to some other, local repository.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11824</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Sun, 12 Mar 2006 19:03:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11824</guid>
		<description>Unless I&#039;m misunderstanding, just pulling from SVN (it would be nice if there was a &#039;stable&#039; branch or tag to pull from) doesn&#039;t allow me to make changes, commit them to my own repository, and then distribute those updates.</description>
		<content:encoded><![CDATA[<p>Unless I&#8217;m misunderstanding, just pulling from SVN (it would be nice if there was a &#8217;stable&#8217; branch or tag to pull from) doesn&#8217;t allow me to make changes, commit them to my own repository, and then distribute those updates.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wincent Colaiuta</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-11820</link>
		<dc:creator>Wincent Colaiuta</dc:creator>
		<pubDate>Sun, 12 Mar 2006 14:55:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-11820</guid>
		<description>Should be fairly easy to do. Bugzilla has long supported upgrading via CVS, and I don&#039;t see any problems with doing the same via Subversion.

The whole point is that you pull in the latest updates from the repository and they are merged with your local changes. You should only have to intervene is there is a conflict that Subversion can&#039;t resolve automatically.

See the Subversion book (svn update command) and also Bugzilla:

http://www.bugzilla.org/download/#cvs

For some time now Bugzilla has actually shipped with CVS information in the distribution archive so that people don&#039;t even need to do the initial checkout. I think this would be a good idea for WordPress too.</description>
		<content:encoded><![CDATA[<p>Should be fairly easy to do. Bugzilla has long supported upgrading via CVS, and I don&#8217;t see any problems with doing the same via Subversion.</p>
<p>The whole point is that you pull in the latest updates from the repository and they are merged with your local changes. You should only have to intervene is there is a conflict that Subversion can&#8217;t resolve automatically.</p>
<p>See the Subversion book (svn update command) and also Bugzilla:</p>
<p><a href="http://www.bugzilla.org/download/#cvs" >http://www.bugzilla.[...]ownload/#cvs</a></p>
<p>For some time now Bugzilla has actually shipped with CVS information in the distribution archive so that people don&#8217;t even need to do the initial checkout. I think this would be a good idea for WordPress too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Little</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-10442</link>
		<dc:creator>Mike Little</dc:creator>
		<pubDate>Sat, 07 Jan 2006 03:21:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-10442</guid>
		<description>Jeurgen,
Thanks for that clarification, I had completely mis-interpreted the abilities of svk. Though the website only mentions mirroring in it&#039;s opening section.</description>
		<content:encoded><![CDATA[<p>Jeurgen,<br />
Thanks for that clarification, I had completely mis-interpreted the abilities of svk. Though the website only mentions mirroring in it&#8217;s opening section.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juergen Kreileder</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-10438</link>
		<dc:creator>Juergen Kreileder</dc:creator>
		<pubDate>Sat, 07 Jan 2006 01:04:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-10438</guid>
		<description>Mike&#039;s comment is wrong: The little svk example gives you what CVS and svn call a &#039;vendor branch&#039;. The difference is that it makes merging a lot easier.

The &#039;svk up -sm&#039; cmd is a short cut for updating your local mirror of the WP repository (ie. the vendor branch) and merging the changes it into your branch.</description>
		<content:encoded><![CDATA[<p>Mike&#8217;s comment is wrong: The little svk example gives you what CVS and svn call a &#8216;vendor branch&#8217;. The difference is that it makes merging a lot easier.</p>
<p>The &#8217;svk up -sm&#8217; cmd is a short cut for updating your local mirror of the WP repository (ie. the vendor branch) and merging the changes it into your branch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikolas Coukouma</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-10432</link>
		<dc:creator>Nikolas Coukouma</dc:creator>
		<pubDate>Fri, 06 Jan 2006 09:25:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-10432</guid>
		<description>I read &lt;a href=&quot;http://svnbook.red-bean.com/en/1.1/ch07s05.html&quot;&gt;the chapter&lt;/a&gt; on vendor branches. It&#039;s what I outlined before, with the substantial bonus of a perl script to automate a lot of the grunt work. I think the &lt;a href=&quot;http://cvsbook.red-bean.com/cvsbook.html#Tracking%20Third-Party%20Sources%20(Vendor%20Branches)&quot;&gt;CVS process&lt;/a&gt; is might be usable.

I&#039;ll note (for the heck of it) that SVN is not better than CVS in all areas. The most common example is renames. SVN deletes the old name and adds the new, losing history between the two. You can of course use a heuristic to surmise the A was deleted and B was added in the same revision and, gee, they look very similar.</description>
		<content:encoded><![CDATA[<p>I read <a href="http://svnbook.red-bean.com/en/1.1/ch07s05.html">the chapter</a> on vendor branches. It&#8217;s what I outlined before, with the substantial bonus of a perl script to automate a lot of the grunt work. I think the <a href="http://cvsbook.red-bean.com/cvsbook.html#Tracking%20Third-Party%20Sources%20(Vendor%20Branches)">CVS process</a> is might be usable.</p>
<p>I&#8217;ll note (for the heck of it) that SVN is not better than CVS in all areas. The most common example is renames. SVN deletes the old name and adds the new, losing history between the two. You can of course use a heuristic to surmise the A was deleted and B was added in the same revision and, gee, they look very similar.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://alexking.org/blog/2006/01/04/wordpress-updates-via-svn/comment-page-1#comment-10427</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Fri, 06 Jan 2006 03:24:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.alexking.org/blog/?p=1658#comment-10427</guid>
		<description>Thanks for all the comments...

Nikolas - yeah, I don&#039;t like that much either.

brendan - not all changes can be so cleanly made. I do have my own SVN server, which is what I&#039;m discussing using here.

Juergen - sounds interesting, see Mike&#039;s comment below.

Daniel - I didn&#039;t know about externals, sounds very handy.

Todd - that is what I&#039;m leaning towards, but I&#039;m interested in the vendor branch concept too.

Mike - why am I not surprised you have an answer for this? :) That sounds exactly right, I guess I need to do some reading.

Barry - the given issues are just the effects of the problem, I want to solve the cause in a way that works going forward.</description>
		<content:encoded><![CDATA[<p>Thanks for all the comments&#8230;</p>
<p>Nikolas &#8211; yeah, I don&#8217;t like that much either.</p>
<p>brendan &#8211; not all changes can be so cleanly made. I do have my own SVN server, which is what I&#8217;m discussing using here.</p>
<p>Juergen &#8211; sounds interesting, see Mike&#8217;s comment below.</p>
<p>Daniel &#8211; I didn&#8217;t know about externals, sounds very handy.</p>
<p>Todd &#8211; that is what I&#8217;m leaning towards, but I&#8217;m interested in the vendor branch concept too.</p>
<p>Mike &#8211; why am I not surprised you have an answer for this? <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  That sounds exactly right, I guess I need to do some reading.</p>
<p>Barry &#8211; the given issues are just the effects of the problem, I want to solve the cause in a way that works going forward.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
