Last Published: 2009-03-23

Subversion...

Insight uses Subversion as its source code repository. Like any other source control repository, Subversion has its own quirks and configurations. To read all about Subversion head over to http://svnbook.red-bean.com/.

In this page we will only talk about the specific configurations that are needed to be made to get Subversion working for Insight properly. We specially need to check the auto-props in the Subversion settings.

Subversion auto-props

The subversion repository for Insight is set up to reject addition or commits of files without the mime-type set. For portability users should also set the line endings of the files.

Subversion provides a mechanism to automatically set the properties of files that the client uses. These are set in the config file of subversion. The exact location of that file is system dependent and please check the subversion book to locate the exact location for your system.

Note: If an instance of the client is running (like eclipse is open and you are using subclipse), while you make changes to the config file; you you will need to restart the client to pick up the changes.

To learn more about subversion properties read the Properties and File Portability topics under the Advanced Topics section of the Subversion Book.

To enable auto-props, uncomment the enable-auto-props = yes setting in the config file.

Recommended auto-props

The recommended list of properties to be set by file type is given below:

### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.

*.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:mime-type=text/plain;svn:executable;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.cmd = svn:mime-type=text/plain;svn:eol-style=CRLF;svn:keywords=Date Author Id Revision HeadURL
*.bat = svn:mime-type=text/plain;svn:eol-style=CRLF;svn:keywords=Date Author Id Revision HeadURL
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
*.xml = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.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 Author Id Revision HeadURL
*.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 Author Id Revision HeadURL
*.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 Author Id Revision HeadURL
*.css = svn:mime-type=text/css;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.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 Author Id Revision HeadURL
*.java = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.properties = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.sql = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Revision
.classpath = svn:mime-type=text/xml;svn:eol-style=native
.project = svn:mime-type=text/xml;svn:eol-style=native
*.md5 = svn:mime-type=text/plain;svn:eol-style=native
*.sha1 = svn:mime-type=text/plain;svn:eol-style=native
*.pom = svn:mime-type=application/octet-stream
*.vm = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.mdo = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
*.apt = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL

Subversion Proxy

Subversion sets its proxy in the servers configuration file. For the exact location of the file on your system, please refer to the Subversion Book.

The following properties are used to set the proxy settings:

http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-exceptions = localhost, megalopolis
http-proxy-host = your.proxy.host
http-proxy-port = 80
http-proxy-username = defaultusername
http-proxy-password = defaultpassword
http-compression = no

Subversion can organize repository servers in groups, so if you have the insight repository server in a group and are accessing it from behind a firewall / enterprise proxy, please set the properties accordingly for that group.

If you are behind a proxy, please ensure that you use the SSL URL to access the repository if you are doing anything other than view the files through the browser.

Project Specific Subversion Settings

There aren't many project specific Subversion settings other than the ones listed below. All these are already in svn:ignore lists for existing projects, and only needs to be checked for new projects.

  1. Ensure that you don't check in the target or eclipse build directories
  2. The eclipse .project and .classpath files are checked in
  3. For the insight-ui project, the developer config directory at the root of the project is not checked in, and needs to be created manually.