Tuesday, October 11, 2005

Learning new software stuff

I am just about to take the plunge with subversion.

7 comments:

Andrew Marlow said...

This is to post just a few gotchas and other points to note that I have found so far....

o import does not follow symbolic links. The skipping of symbolic links is silent.

o define SVN_EDITOR before running svn ci. It's a fatal error to svn ci if the variable is not defined.

Andrew Marlow said...

svn import imports the CVS subdirectories. This looks like a small subversion bug.

When one copies a hook, execute permission must be given explicitly using chmod. The templates do not have execute permission. If this is not done the svn command will fail mysteriously.

Hooks can refer to their own source directory via the path $REPOS/hooks. This is useful for any scripts that are located in the same place as the hook.

The commit-access-control.pl hook uses the package Config-IniFiles.pm, which has to be downloaded from CPAN and installed.

Andrew Marlow said...

The property Id corresponds most closely to the RCS Id keyword. The config file is aused to make this an autoproperty but the config file is local to EACH user. That's something that is not at all clear in the subversion book. So on Unix the subversion config file is $HOME/.subversion/config.

Andrew Marlow said...

Once the svn server is used to dish up a repository, everyone has read-only access. The file conf/svnsereve.conf needs to be edited to change this. The password file conf/passwd also needs to be set up. Enable the users section and add a username and password (in plaintext).

Andrew Marlow said...

I couldn't get the autoprop feature to work so I have to use find to find every source file and set the propery explicitly on each file. The command is:

svn propset svn:keyword Id filename

Andrew Marlow said...

When importing to subversion from CVS it is important to export the CVS files; don't just try to import a CVS structure. If you do then subversion treats the CVS directories the same as your source directories. I initially thought this was a subversion bug but I now think it was user error!

Andrew Marlow said...

At long last I am using subversion officially on a real project. Hurrah! I find that eclipse has a plugin for SVN but it does come with prebuilt eclipse distributions by default. It has to be downloaded and installed ontop of eclipse but it is quite painless.