Overview

Ode uses Subversion to manage its source code. Instructions on Subversion use can be found here.

Main repository

Web Access

http://svn.apache.org/repos/asf/incubator/ode/

Anonymous access

Ode source can be checked out anonymously with this command:

$> svn checkout http://svn.apache.org/repos/asf/incubator/ode/trunk ode

Once you have Ode checked out you can update the source by executing the following command from within the ode directory.

$> svn update

Once you've got the code you'll probably want to build it; for instructions see [Building Building].

Access from behind a firewall

For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via HTTPS:

$> svn checkout https://svn.apache.org/repos/asf/incubator/ode/trunk ode

Access through a proxy

The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)

There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.

Example : Edit the 'servers' file and add something like :

[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128

Submitting a Patch

If you make changes to Ode, and would like to contribute the to the project, you should create a patch and post it to the [issues.apache.org/jira/browse/ODE Ode JIRA issue tracker]. To create a patch, simply execute the following command:

$> svn diff > your-changes.patch

Developer Access

Everyone can access the Ode Subversion repository via HTTPS, but Ode Committers must checkout the Subversion repository via HTTPS.

$> svn checkout https://svn.apache.org/repos/asf/incubator/ode/trunk ode

To commit changes to the repository, you must set your password on the Apache Subversion server. To set your password, use ssh to connect to svn.apache.org, and enter the command svnpasswd. This will prompt you to enter a svn password of your choice (pick a safe password). Now, now your are ready to commit changes using your username/password. Execute the following command to commit your changes (svn will prompt you for your password)

$> svn commit --username your-username
Authentication realm: <https://svn.apache.org:443> ASF Committers
Password for 'your-username': your-password

You can also pass your password on the command line directly, but this is a security problem on multiuser unix computers (the command line arguments are available via the ps command). Here is the command if you are Windows or a single user unix computer:

$> svn commit --username your-username --password your-password

Remember to replace 'your-username' and 'your-password' with your actual username and password on svn.apache.org.

Subversion client config

Add this to your subversion client configuration file:

Note: make sure the settings are merged into the appropriate section if it already exists, as duplicate section names can cause problems.

Possible locations of your subversion client configuration

  • Windows: C:\Documents and Settings\yourname\Application Data\Subversion\config
  • Linux: ~/.subversion/config

Note: The names of svn keywords that are substituted in files may not match the SVN keywords in this config file. This is because a number of SVN keywords have alternate names that can be used. For example the "Revision" keyword may be specified as "Rev" and "LastChangedRevision" and can be used interchangably. This file uses the standard Subversion Keywords, not their alternate forms for clarity and consistency with the Subversion config files used by other ASF projects. This config file does not need to be changed to use the alternate forms for the alternate forms to be able to be used. For further information on Subversion keywords see http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.4.

[miscellany]
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store build dist target
enable-auto-props = yes

[auto-props]
*.c = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.cpp = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.h = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.sh = svn:executable;svn:eol-style=native;svn:keywords=Date Revision
*.cmd = svn:mime-type=text/plain;svn:eol-style=CRLF
*.bat = svn:mime-type=text/plain;svn:eol-style=CRLF
Makefile = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.obj = svn:mime-type=application/octet-stream
*.bin = svn:mime-type=application/octet-stream
*.bmp = svn:mime-type=image/bmp
*.class = svn:mime-type=application/java
*.doc = svn:mime-type=application/msword
*.exe = svn:mime-type=application/octet-stream
*.gif = svn:mime-type=image/gif
*.gz = svn:mime-type=application/x-gzip
*.jar = svn:mime-type=application/java-archive
*.jelly = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.jpg = svn:mime-type=image/jpeg
*.jpeg = svn:mime-type=image/jpeg
*.pdf = svn:mime-type=application/pdf
*.png = svn:mime-type=image/png
*.tgz = svn:mime-type=application/octet-stream
*.tif = svn:mime-type=image/tiff
*.tiff = svn:mime-type=image/tiff
*.zip = svn:mime-type=application/zip
*.txt = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.xml = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Revision
*.ent = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.dtd = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.vsl = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.xsd = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Revision
*.xsl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Revision
*.wsdl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Revision
*.htm = svn:mime-type=text/html;svn:eol-style=native;svn:keywords=Date Revision
*.html = svn:mime-type=text/html;svn:eol-style=native;svn:keywords=Date Revision
*.css = svn:mime-type=text/css;svn:eol-style=native;svn:keywords=Date Revision
*.js = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.jsp = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.txt = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.java = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.properties = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
*.sql = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision

To verify the auto-props processing is working you can test adding a file without committing it (Windows example):

C:\projects\Ode>echo testdata>test-auto-props.xml

C:\projects\Ode>svn add test-auto-props.xml
A         test-auto-props.xml

C:\projects\Ode>svn proplist test-auto-props.xml
Properties on 'test-auto-props.xml':
  svn:mime-type
  svn:keywords
  svn:eol-style

C:\projects\Ode>svn propget svn:mime-type test-auto-props.xml
text/xml

C:\projects\Ode>svn propget svn:keywords test-auto-props.xml
Date Author Id Revision HeadURL

C:\projects\Ode>svn propget svn:eol-style test-auto-props.xml
native

C:\projects\Ode>svn revert test-auto-props.xml
Reverted 'test-auto-props.xml'

C:\projects\Ode>del test-auto-props.xml

If you didn't get the results above, double check that the following line in the [miscellany] section is set and not commented out or set elsewhere.

enable-auto-props = yes
  • No labels