Working with SVN¶
You'll find lots of information in the SVN Book
If you want the SVN Revision included in the checkouts, please use http://svnbook.red-bean.com/nightly/de/svn.advanced.props.special.keywords.html
upload the code into the repository¶
- get via shell into the extension-folder and trunk e.g. "EXTENSIONKEY/trunk"
- svn import https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/trunk --username USERNAME -m 'initial upload'
Create folder "tags" for tagging¶
svn mkdir https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/tags --username USERNAME -m "tags-folder created"
Tag a version-number for TER¶
- get via shell into the extension-folder and trunk e.g. "EXTENSIONKEY/trunk"
- svn copy https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/trunk https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/tags/Version-X-Y-Z --username USERNAME -m "version X.Y.Z in TER"
Fast alternative:
extkey="EXTENSIONKEY"; versionTER="X.Y.Z", versionSVN="X-Y-Z"; user="USERNAME"; svn copy https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/$extkey/trunk https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/$extkey/tags/Version-$versionSVN --username $user -m "version $versionTER in TER"
Copying your local repository to forge¶
We will use CLI tool svk to do this. We first mirror both repositories to the local PC and merge changes afterwards.
- create a svk reposity: svk depotmap
- create a mirror of your local repository: svk mirror //local https://svn.example.org/svn/YOURPROJECT
- synchronize this mirror: svk sync //local
- create a mirror of your forge repository: svk mirror //forge https://svn.typo3.org/TYPO3v4/Extensions/YOURPROJECT
- synchronize this mirror: svk sync //forge
- merge changes: svk smerge --sync --baseless --incremental --verbatim //local //forge
Done. The option incremental means that each revision of your local repository will be committed separate. If you leave it out, only one commit will be done containing the current status of your local repository.