View Source

<h3>Updating Your ZF SVN Checkout</h3>

<p>We just completed a reorganization of our subversion repository. The reorganization was necessary due to changes we are introducting both in our proposal system as well as project architecture. Specifically, we are introducing a new library, our 'Extras' library, which will contain contributions that are not officially supported by Zend but which still require successful completion of our proposal process. Additionally, we are merging our Laboratory repository.</p>

<p>The final structure is basically like the following:</p>

<ac:macro ac:name="code"><ac:plain-text-body><![CDATA[
http://framework.zend.com/svn/framework/
standard/
branches/
release-1.0/
release-1.5/
...
tags/
release-0.1.0/
...
release-1.5.2/
trunk/
documentation/
library/
Zend/
tests/
Zend/
incubator/
documentation/
library/
Zend/
tests/
Zend/
extras/
branches/
release-1.6/
...
tags/
release-1.6.0/
...
trunk/
documentation/
library/
ZendX/
tests/
ZendX/
incubator/
documentation/
library/
ZendX/
tests/
ZendX/
laboratory/
build-tools/
]]></ac:plain-text-body></ac:macro>

<p>The key changes:</p>

<ul>
<li>tag/ and branch/ have been moved under 'standard/' as 'tags/' and 'branches/', respectively</li>
<li>trunk/ has been moved to 'standard/trunk/'</li>
<li>trunk/incubator/ has been moved to 'standard/incubator/'</li>
<li><a class="external-link" href="http://framework.zend.com/svn/laboratory">http://framework.zend.com/svn/laboratory</a> has been moved to <a class="external-link" href="http://framework.zend.com/svn/framework/laboratory/">http://framework.zend.com/svn/framework/laboratory/</a></li>
<li>trunk/build-tools/ and trunk/scripts/ have been moved under build-tools/, and will contain their own branches and tags</li>
<li>addition of 'extras/' tree in repository</li>
</ul>


<p>You will need to update your working checkouts and any svn:externals to point to the new locations.</p>

<p>If using subversion from the command line, switching your working checkout is relatively easy using 'svn info' and 'svn switch'. For example:</p>

<ac:macro ac:name="code"><ac:plain-text-body><![CDATA[
$ svn info .
Path: .
URL: http://framework.zend.com/svn/framework
Repository Root: http://framework.zend.com/svn/framework
Repository UUID: 44c647ce-9c0f-0410-b52a-842ac1e357ba
Revision: 9498
Node Kind: directory
Schedule: normal
Last Changed Author: thomas
Last Changed Rev: 9498
Last Changed Date: 2008-05-22 01:54:03 -0700 (Thu, 22 May 2008)

$ svn switch http://framework.zend.com/svn/framework/standard .

$ svn up
]]></ac:plain-text-body></ac:macro>

<p>To update your svn:externals checkouts, you will need to simply edit your svn:externals entries:</p>

<ac:macro ac:name="code"><ac:plain-text-body><![CDATA[
$ svn propedit svn:externals .
]]></ac:plain-text-body></ac:macro>

<p>and simply edit the URL to which the externals point.</p>

<p>You will need to determine the final URL based on the information provided above about the changes. In general: </p>

<ul>
<li>if you were checking out from trunk, the path will change from 'trunk/' to 'standard/trunk/'</li>
<li>if you were checking out from a release branch, the path will change from 'branch/release-1.X/' to 'standard/branches/release-1.X/'</li>
<li>if you were checking out from a tag, the path will change from 'tag/release-1.X/' to 'standard/tags/release-1.X/'</li>
</ul>


<p>We apologize for any short term problems these changes may cause; however, they are necessary to allow us to expand our offerings and better support our community in the long term.</p>