SVN Server Side Config

Overview

With the advent of Subversion 1.8 several new features were introduced. They are of special interest to IC designer and discussed below.

1. Repository Dictated Configuration

Two new Subversion reserved properties, 'svn:auto-props' and 'svn:global-ignores' make use of the new inherited properties feature to provide additional configuration information that overrides/extends some of the settings found in the user's runtime configuration. The svn:auto-props property overrides/extends the auto-props configuration setting. The svn:global-ignores property extends the global-ignores configuration setting as well as the svn:ignore property.

The format of svn:auto-props property values are the same as for the auto-props runtime configuration. The format of svn:global-ignores property values are the same as for the global-ignores runtime configuration.

Example

> svn ps svn:auto-props *.v=svn:needs-lock=* <Working Copy Root Path>

> svn ci <Working Copy Root Path>

The command above results into each newly added *.v file having svn:needs-lock=* property applied.

2. To add multiple svn:auto-props and have them inherited from the repos:

Checkout the svn repos root dir
> svn co svn://root_dir

Now we add the auto-props settings

First we bring up the properties template in svn
> svn propedit svn:auto-props .

Then we cut/paste in the following lines
*.oa=svn:needs-lock=*
data.dm=svn:needs-lock=*
*.cdb=svn:needs-lock=*
*.tag=svn:needs-lock=*
*.db=svn:needs-lock=*
*.sdb=svn:needs-lock=*
*.png=svn:needs-lock=*
*.cds=svn:needs-lock=*
*.cfg=svn:needs-lock=*
*.info=svn:needs-lock=*
*.state=svn:needs-lock=*
*.TopCat=svn:needs-lock=*
*.Cat=svn:needs-lock=*
prop.xx=svn:needs-lock=*
cds.lib=svn:needs-lock=*
*.v=svn:needs-lock=*
CCLFile=svn:needs-lock=*
*.pdf=svn:needs-lock=*
verilog.vams=svn:needs-lock=*

Finally we checkin the change
svn ci .