Document Information

Last modified:
2008/12/19 04:08 by ecker

Checking out from SVN

Normal qooxdoo users will most likely prefer to simply download the archive of the official release. If you are a developer or contributor and want to work with the latest SVN code, you should have some familiarity with version control systems.

qooxdoo Repositories

qooxdoo uses two public code repositories, both hosted at SourceForge.net. The framework core is maintained in qooxdoo, while additional framework components and contributions are maintained in qooxdoo-contrib. To access the qooxdoo SVN use the following configuration:

  • Hostname: qooxdoo.svn.sourceforge.net
  • Port: 443
  • Protocol: HTTPS
  • Repository Path: /svnroot/qooxdoo
  • Username: Your SourceForge.net username (only required for SVN write operations)
  • Password: Your SourceForge.net user password (only required for SVN write operations)

qooxdoo-contrib is similar, just replace the repository name.

About Subversion

Documentation on SVN is available, e.g. from Sourceforge. Comprehensive documentation can be found for different languages.

Clients and tools for Subversion

A command-line client is included with many operating systems (e.g. Linux, Mac OS X), it can even be installed for Windows (using the unix-like environment Cygwin.

Command-line tools may be powerful, but tend to be error-prone and often inconvenient to use, so you might prefer graphical tools:

There also is an overview of clients and plugins.

For the rest of this article we focus on the SVN command-line client. You need to have subversion installed locally. It is included with most operating systems (Linux. Mac OS X), or for Windows can be installed within Cygwin.

Subversion Config Settings

You’ll need to add a couple of config settings to your SVN config file. If you are on Windows, that’s located at:

C:\Documents and Settings\YourUserName\Application Data\Subversion\config

And on UNIX/Mac OS X:

~/.subversion/config

Enable auto-props

Open it up in your favorite text editor. Most configs have some default settings, so locate [miscellany] and enable-auto-props in the file. If they exist, make sure that they are uncommented (remove # from beginning of line), otherwise add them. The line should look like:

[miscellany]
enable-auto-props = yes

Configure auto-props

Next, locate the section [auto-props]. If it doesn’t exist, add it. If it already exists but is commented out, simply uncomment it. Add or modify the following entries below [auto-props]:

*.sh = svn:eol-style=native;svn:executable
*.py = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native
*.rest = svn:eol-style=native
*.css = svn:eol-style=native
*.xml = svn:eol-style=native
*.xsl = svn:eol-style=native
*.xslt = svn:eol-style=native
*.html = svn:eol-style=native
*.htm = svn:eol-style=native
*.htc = svn:eol-style=native
*.svg = svn:eol-style=native
*.js = svn:eol-style=native

*.png = svn:mime-type=image/png
*.gif = svn:mime-type=image/gif
*.jpg = svn:mime-type=image/jpeg
*.jpeg = svn:mime-type=image/jpeg

Makefile = svn:eol-style=native
README = svn:eol-style=native
CHANGELOG = svn:eol-style=native
LICENSE = svn:eol-style=native
AUTHORS = svn:eol-style=native
RELEASENOTES = svn:eol-style=native
TODO = svn:eol-style=native

SVN structure

Below the Subversion repository path https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/ the following folder structure exists:

  branches/
     legacy_0_1_x/*
     legacy_0_5_x/*
     legacy_0_6_x/*
     legacy_0_7_x/*
     ...

  tags/
     release_0_1/*
     ...
     release_0_6_6/*
     release_0_6_7/*
     ...
     release_0_7_3/*
     release_0_7_4/*
     ...
     release_0_8/*
     release_0_8_1/*
     ...

  trunk/*

Each of the folders marked by a trailing * contains a folder qooxdoo/ that holds the corresponding SVN version of the framework. The meanings of the three categories are:

trunk

This is the place where most of the actual development of the framework happens. Development activity for qooxdoo is high, so there are often many commits just within a few minutes. As a consequence, such a snapshot of the trunk is not always stable. It is usually not recommended for production use or as a starting point for learning how to use qooxdoo.

branches

Having just said that most of the development happens in the trunk, all remaining development activity usually takes place in temporary branches. The convention is to start their name with devel_. Such branches are supposed to exist for only a limited period of time. They often function as isolated playgrounds that would otherwise render the trunk version unusable for a longer time. Such a devel branch is removed from SVN once the results have been merged into trunk or another branch, or if the results were not satisfying.

Folders that start with legacy_ are available for a (reasonably) unlimited time. Such a branch is often created when a new release is published, but work on the next major version needs to be started. The legacy branches then continue to be used for developing the latest stable “line” of code, e.g.”legacy_0_7_x” for a next version for the “0.7” line.

If contributors are interested in further development of such a legacy line, they should (if appropriate) commit changes to both - the line in question and the trunk. Bugfixes only relevant for the legacy line ought to be committed exclusively to the line in question.

It is recommended to keep updating your custom applications with each new stable qooxdoo release. Built-in migration support usually helps a lot, so it is recommended to invest time into migrating custom applications rather than bugfixing outdated qooxdoo releases.

tags

All official releases are permanently available under the tags/ folder. They may be checked-out individually. Those tags are are regarded “read-only” and must not be changed after the corresponding release.

Checking-out from repository

trunk

Please execute the following shell command to checkout the latest development version of qooxdoo (the so-called SVN “trunk”). The appropriate files are transferred from the remote Subversion repository into a local directory named qooxdoo/:

$ svn co https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk/qooxdoo

Specific branch or tag

To checkout a specific branch or tag please use the following commands (’name-of-...’’ being placeholders). The optional last argument specifies the target directory. It is a good practice to put the branch/tag name dot-separated after the project’s name:

$ svn co https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/branches/name-of-branch qooxdoo.name-of-branch

or for tags:

$ svn co https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/tags/name-of-tag qooxdoo.name-of-tag

Information

Last modified:
2008/12/19 04:08 by ecker

Account

Not logged in

 
 

Job Offers

To further improve qooxdoo we are seeking javascript developers. Read more...

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.