Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

Subversion

From TYPO3Wiki
Jump to: navigation, search

<< Back to Developer manuals page

[edit]

notice - Note

See old version: Subversion/Old

notice - Draft

Change the {{draft}} marker to {{review}} when you need a reviewer for text and TypoScript. info

Subversion, short SVN, is a concurrent versioning system, a lot like CVS, but better. The TYPO3 community used it for collaborative development on the TYPO3 sourcecode and still uses it for the work on extensions. On this page you can read about the how and why.


About the SVN repositories

Keep in mind that the SVN repositories have nothing to do with the TYPO3 extension repository (TER). You may find an extension in both repositories, but this is not the rule. TER was not invented for collaborative extension development, so people decided to use SVN for daily extension development and TER for stable release.

All subversion repositories moved to

https://svn.typo3.org/
Project Subversion/ trunk
TYPO3 4.x https://svn.typo3.org/TYPO3v4/Core/trunk/
Attention: This repository is no longer used. Use the Git repository instead.
For more information see here.
TYPO3 4.x Extensions https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/trunk/
TYPO3 5.x https://svn.typo3.org/TYPO3v5/Distributions/Base/trunk/
FLOW3 Packages https://svn.typo3.org/FLOW3/Packages/PACKAGENAME/trunk/

See

Graphical Clients

TortoiseSVN

Platform Download License
Windows http://tortoisesvn.net/downloads CC

Aptana

Aptana.jpg http://www.aptana.com/ (An IDE for web-projects based on Eclipse)

Preparation

  • activate the view in the menu: Window/ Open Perspective / SVN Repository Exploring
  • add the repository: URL "https://svn.typo3.org/Teams/DocTeam" (this will download 37,7 MB, all DocTeam-files)
  • right mouse klick and select "New repository location"
  • choose "checkout as new project"

notice - Note

Tell what files shall NOT be uploaded to the repository:

menu Windows > Preferences > Team > Ignored Resources
.project

.settings

Update

To update the files of your working copy select the main folder of your SVN project, then klick the right mouse button and choose Team > Update.

Commit

You can edit the file in the project-perspective. To commit the file klick the right mouse button, and choose Team > Commit.

rapidSVN

rapidSVN is a cross-platform subversion client. There are versions for windows, linux and mac. On Ubuntu you can install it with the package manager.
Documentation: http://www.rapidsvn.org/index.php/Documentation

checkout with rapidSVN

  • Open rapidSVN
  • rightclick on bookmarks and choose "add existing repository"
  • use "https://svn.typo3.org/path/to/your/repository" as location
  • you can now browse the online repository
  • to check out parts of the repository right click on the folder you want to check out and choose "checkout new working copy"
  • select a folder (destination directory) to store your local copy and press OK

You could also checkout without creating any bookmarks first:

  • Choose repository from the top menu
  • Click checkout
  • Enter relevant information and press OK

tagging with rapidSVN

  • navigate in the left bookmarks-folder to the extension you want to tag. e.g. "doc_tut_editors"
  • click at folder "tags" - and it gets orange
  • click at top menu "modify" and menu-item "create new folder" (or choose it from the right click menu)
  • naming style is "1-0-0"
  • navigate to the folder "trunk" and select all inside
  • right click and choose "copy"
  • type in YOUR LOCAL location: /path/to/your/local/copy/extension/tags/1-0-0 (NO trailing slash!)
  • check with the browser: https://forge.typo3.org/repositories/show/projectname

commit / upload changes

  • if you made changes to your local files they are displayed orange in the rapidSVN browser
  • to commit your changes just right click on the file name and choose "commit"

creating diffs / patches

CrossVC

Cross-platform Version Control

KDEsvn

Platform Download manual
Linux KDE or GNOME, Mac OS X, FreeBSD package "kdesvn"
(project)
kdesvn

Newbee-HowTo checkout

  • create a folder in the filesystem: "SVN_external" and a subfolder "TYPO3_v4". Add also a subfolder in it: "tx_ttnews"
  • use a browser to see what project you want to check out: https://svn.typo3.org/TYPO3v4/Extensions/ e.g. "tx_ttnews"
  • install (e.g. for Debian/ Ubuntu):
     apt-get install kdesvn
    
  • start KDEsvn and klick in the "Bookmarks"-menu: New Folder "TYPO3 version 4"
  • click the button "Checkout Repository" or see it in the menu "Subversion" / "general"
  • type in as URL e.g. for "tx_ttnews":
    https://svn.typo3.org/TYPO3v4/Extensions/EXTENSIONKEY/trunk
  • use the local folder you created where trunk gets stored e.g.
    /d/SVN-extern/TYPO3_EXT/tx_ttnews
  • let the setting as "HEAD" to choose the current version
  • store it as bookmark for TYPO3 version 4 e.g. location
    /d/SVN-extern/TYPO3_EXT/tx_ttnews/trunk
Subversion kdesvn checkout.jpg

Newbee-HowTo create a diff

  • make a little change in the code (e.g. the ChangeLog)
  • start KDEsvn, choose the bookmark link to open the local repository-copy
  • klick with the right mouse-button at the contextmenu-option "diff of local changes"

Extension: Subversion integration (np_subversion)

Mentioned here as a reminder for later changes...

Maybe this will be useful in future. If so, we should mention the ext because it's the TYPO3 way of using svn.

notice - Note

At the moment, the maintainer does not recommend to use it in productive environment.

Note from the developers:

We just have released the current beta version which now includes the following features:

  • visual diff between HEAD- or older revisions and working copy
  • TYPO3 4.2 compatibility
  • improved documentation
  • some additional config settings (i.e. disable 'auto backup' feature by default)

notice - Note

We have used np_subversion in approximatly 10 production environments for a couple of months now and - although some features are still missing - it is useable and useful.

Project site with latest info: http://projects.network-publishing.org/projects/show/np-subversion

source: https://extensions.typo3.org/extension/np_subversion/

doc: tt_address

svn - shell access

See

Checkout sources from repository

Checkout the latest revision (HEAD) of the TYPO3 v.4 core from trunk:

svn co https://svn.typo3.org/TYPO3v4/Core/trunk/ typo3

Attention: This repository is no longer used and does no longer reflect the current state of the project's sourcecode.
Use the new Git repository instead.
For more information see here.

Create a diff

Once you have fixed a bug in the sources, create a patch by extracting your fix in unified diff format:

svn diff

You can optionally pipe the patch directly to a file for uploading it to the bugtracker:

svn diff > bug_1234.diff

The core-list is open for your requests. Please refer to the Core-Development Mailinglist Rules for how to ask for commiting your patch.