<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://gotdrupal.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>GotDrupal.com | Drupal Tutorial Site - vendor branch</title>
 <link>http://gotdrupal.com/taxonomy/term/44/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>Developer Know How: SVN Vendor Branching</title>
 <link>http://gotdrupal.com/videos/drupal-svn-vendor-branches</link>
 <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&lt;a href=&quot;http://svnbook.red-bean.com/en/1.1/ch07s05.html&quot; title=&quot;SVN Vendor Branching on Red-Bean.com&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SVN&lt;/span&gt; Vendor Branches&lt;/a&gt; provides &lt;a href=&quot;http://en.wikipedia.org/wiki/Merge_(revision_control)#Three-way_merge&quot; title=&quot;Wikipedia.org article on Version Control&quot;&gt;Three-way merging&lt;/a&gt; within version&amp;nbsp;control.&lt;/p&gt;
&lt;p&gt;The premise is simple. You&#039;re using code from another source (&lt;a href=&quot;http://drupal.org&quot; title=&quot;Drupal.org Web Site&quot;&gt;Drupal.org&lt;/a&gt; or &lt;a href=&quot;http://acquia.com&quot; title=&quot;Acquia Web Site&quot;&gt;Acquia&lt;/a&gt;). You may make changes to the code and so will the developers of Drupal and contributed modules. You want &lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;THEIR&lt;/span&gt;&lt;/strong&gt; changes and you want to keep &lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;YOURS&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;too.&lt;/p&gt;
&lt;p&gt;The solution is &lt;span class=&quot;caps&quot;&gt;SVN&lt;/span&gt; Vendor Branches and the almighty &lt;strong&gt;svn merge&lt;/strong&gt;&amp;nbsp;command.&lt;/p&gt;
&lt;p&gt;The trick is learning how to use/setup the vendor branch in the first&amp;nbsp;place.&lt;/p&gt;
&lt;p&gt;The following steps, and this 32 minute video, should get you going with one of the most efficient ways to manage your Drupal&amp;nbsp;codebase.&lt;/p&gt;
&lt;p&gt;All &lt;span class=&quot;caps&quot;&gt;URLS&lt;/span&gt; below can use one of the possible&amp;nbsp;protocols&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;///&quot; title=&quot;///&quot;&gt;file:///&lt;/a&gt; = local version&amp;nbsp;control&lt;/li&gt;
&lt;li&gt;svn+ssh:// = svn direct through&amp;nbsp;ssh&lt;/li&gt;
&lt;li&gt;http:// = non secure via&amp;nbsp;web&lt;/li&gt;
&lt;li&gt;https:// = secure via&amp;nbsp;web&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;PHASE&lt;/span&gt; 1&lt;/strong&gt;: Establishing the repository with a vendor&amp;nbsp;branch&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;svnadmin create acquia6&lt;/code&gt; (create&amp;nbsp;repository)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tar xzf [FILE] --strip-components=1&lt;/code&gt; (extract within desired&amp;nbsp;folder)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn mkdir &lt;a href=&quot;///acquia/repos/acquia6/vendor&quot; title=&quot;///acquia/repos/acquia6/vendor&quot;&gt;file:///acquia/repos/acquia6/vendor&lt;/a&gt; -m &amp;#039;Making the vendor branch&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn mkdir &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; -m &amp;#039;Making the current vendor branch&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn import &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; -m &amp;#039;Adding current 1.0.2 release to vendor/current&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn copy &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; &lt;a href=&quot;///acquia/repos/acquia6/vendor/102&quot; title=&quot;///acquia/repos/acquia6/vendor/102&quot;&gt;file:///acquia/repos/acquia6/vendor/102&lt;/a&gt; -m &amp;#039;Tagging the 1.0.2 release&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn copy &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; &lt;a href=&quot;///acquia/repos/acquia6&quot; title=&quot;///acquia/repos/acquia6&quot;&gt;file:///acquia/repos/acquia6&lt;/a&gt; -m &amp;#039;Tagging my core Acquia Drupal&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn checkout &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; .&lt;/code&gt; (within the desired&amp;nbsp;location)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;PHASE&lt;/span&gt; 2&lt;/strong&gt;: Upgrading the vendor&amp;nbsp;code&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;curl -O http://acquia.com/files/downloads/acquia-drupal-X.X.X.xxxx.tar.gz&lt;/code&gt; (get the&amp;nbsp;latest)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tar xzf [NEW_RELEASE] --strip-components=1&lt;/code&gt; (extract within folder of vendor/current) - check using &#039;svn&amp;nbsp;info&#039;&lt;/li&gt;
&lt;li&gt;svn status to find added and removed files/folders - use &lt;a href=&quot;http://gotdrupal.com/videos/svn-filtering&quot; title=&quot;GotDrupal.com SVN Filtering Video&quot;&gt;svngrep&lt;/a&gt; to add&amp;nbsp;them&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn commit -m &amp;#039;Upgrading Acquia Drupal to 1.2.1&amp;#039;&lt;/code&gt; (commit updated code to&amp;nbsp;vendor/current)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn copy &lt;a href=&quot;///acquia/repos/acquia6/vendor/current&quot; title=&quot;///acquia/repos/acquia6/vendor/current&quot;&gt;file:///acquia/repos/acquia6/vendor/current&lt;/a&gt; &lt;a href=&quot;///acquia/repos/acquia6/vendor/121&quot; title=&quot;///acquia/repos/acquia6/vendor/121&quot;&gt;file:///acquia/repos/acquia6/vendor/121&lt;/a&gt; -m &amp;#039;Tagging the 1.2.1 release&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;PHASE&lt;/span&gt; 3&lt;/strong&gt;: Upgrading your site&amp;nbsp;code&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;svn switch file:///acquia/repos/acquia6/current&lt;/code&gt; (switch to your&amp;nbsp;site)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn merge &lt;a href=&quot;///acquia/repos/acquia6/vendor/102&quot; title=&quot;///acquia/repos/acquia6/vendor/102&quot;&gt;file:///acquia/repos/acquia6/vendor/102&lt;/a&gt; file:///acquia/repos/acquia6/vendor/current&lt;/code&gt; (&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;MAGIC&lt;/span&gt;!&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;svn commit -m &amp;#039;Merged in upgrade to 1.2.1&amp;#039;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Run update.php for database&amp;nbsp;upgrades&lt;/li&gt;
&lt;li&gt;Check that your site it working as&amp;nbsp;planned&lt;/li&gt;
&lt;/ol&gt;
&lt;!-- google_ad_section_end --&gt;</description>
 <enclosure url="http://media.gotdrupal.com/matt/developer/SVNVendorBranching.mov" length="50100790" type="video/quicktime" />
 <comments>http://gotdrupal.com/videos/drupal-svn-vendor-branches#comments</comments>
 <category domain="http://gotdrupal.com/category/skill-level/advanced">Advanced</category>
 <category domain="http://gotdrupal.com/category/tags/developer">developer</category>
 <category domain="http://gotdrupal.com/category/tags/svn">svn</category>
 <category domain="http://gotdrupal.com/category/tags/vendor-branch">vendor branch</category>
 <pubDate>Sat, 24 Jan 2009 00:46:09 +0000</pubDate>
 <dc:creator>Matt Petrowsky</dc:creator>
 <guid isPermaLink="false">35 at http://gotdrupal.com</guid>
</item>
</channel>
</rss>

