The command scmbug_install_glue is used to install the integration glue in an SCM repository. Existing hooks used in the SCM system are not overwritten. An example installing the glue in a Subversion repository is shown in Figure 7-1.
Figure 7-1. Glue Installation in a Subversion repository.
$ scmbug_install_glue --scm=Subversion --product=TestProduct \
--repository=/tmp/testrepository --bug=1 --binary-paths=/usr/bin \
--daemon=127.0.0.1
This is the installation script of the Scmbug glue.
The glue will be installed in repository: /tmp/testrepository.
This is a repository for the Subversion SCM tool.
The product name in the bug tracking system is TestProduct.
The integration glue will be committed against bug 1.
The IP address of the Scmbug integration daemon to contact is 127.0.0.1.
-------------
Press Enter to continue or Ctrl-C to cancel
Glue processing has been prepared in /tmp/Scmbug.30670
Installing part1
Check everything there before I commit or hit Ctrl-C to exit
Glue processing has been prepared in /tmp/Scmbug.30670
Installing part2
Check everything there before I commit or hit Ctrl-C to exit
Integration glue can be installed in both local and remote CVS repositories.
After installation, the file <CVS_REPOSITORY_PATH>/CVSROOT/etc/scmbug/glue.conf holds the configuration of the glue.
Subversion repositories do not support installation of the integration glue remotely. Local repository access is required.
After installation, the file <SVN_REPOSITORY_PATH>/hooks/etc/scmbug/glue.conf holds the configuration of the glue.
Subversion does not distinguish between commit activities and creation of tags or branches. It recommends that the user manually creates top-level directories named /trunk, /tags and /branches. When it's time to create a tag or branch, Subversion proposes following the convention of creating a copy of the main trunk using 'svn copy' in the /tags or /branches directories. As a result, the glue must manually detect if an activity_verify issued by Subversion also implies an activity_tag. To do so, it checks for addition of new subdirectories in the directories /tags or /branches. This behavior is defined in the glue configuration file using the label_directories variable, as shown in Figure 7-2.