There are a couple of client-side configuration settings that need to be set to ensure things work smoothly when commiting changes in Subversion. These are especially important to ensure smooth nightly builds on Linux.
All client settings are specified in a configuration file which you'll want to open for editing:
- under Windows: open the file "C:\Documents and Settings\‹username›\Application Data\Subversion\config" (if you use TortoiseSVN then you can also open this file via the TortoiseSVN UI)
- under Linux: open the file "~/.subversion/config"
- 1. Enable use of commit times
- Locate the "use-commit-times" setting in the configuration file, and make sure it is enabled:
use-commit-times = yes
If you don't enable this then there's a good chance you'll have build errors under Linux. File time-stamps need to be set correctly under Linux to ensure 'make' works properly.
- 2. Enable the use of auto props
- Locate the "enable-auto-props" setting in the configuration file, and make sure it is enabled:
enable-auto-props = yes
By enabling this you ensure that metadata gets automatically added for any new files you add to Subversion. An example is the eol-style property.
- 3. Configure automatic properties
- Subversion contains a number of properties (metadata) you can set per file. At the end of your config file is the [auto-props] section where you can specify which properties get automatically set when you add a file. At a minimum you must set the svn:eol-style property:
* = svn:eol-style=native
By default the config file has examples to specify different values for this property for different file types. Just set it to native for all file types as above and be done with it.
If you frequently edit Linux shell scripts then you might want to also configure the executable property:
*.sh = svn:executable=yes
This makes all shell scripts executable, by default.