Here's how you can integrate an unmanaged CVS repository with TeamForge.

After creating the repository, you must modify two triggers, verifymsg and loginfo, to complete the integration with TeamForge.

The triggers must be modified manually, because much of the information in the triggers is specific to your TeamForge installation.

Each trigger must be modified to run a .java program. Here’s an annotated example of how to modify and install the trigger files.

You must create the CVS repository before you modify and install the trigger files.

CVS servers that integrate with TeamForge must use the native UNIX/Linux authentication method, and not external authentication mechanisms such as NIS, NIS+, Winbind, Active Directory, or LDAP.

TeamForge creates and manipulates local system accounts using the default useradd, usermod, groupadd, groupdel, and userdel commands. It expects to find any accounts or groups it created in /etc/passwd and /etc/group.

Create a loginfo Trigger File

Here’s how to create the loginfo trigger file.

  1. Check out the module CVSROOT from the CVS repository.

    The CVSROOT module is automatically created in all new CVS repositories, and contains the verifymsg and loginfo files. When created, the files contain only comments.

  2. Begin modifying the file by inserting ALL followed by a tab. This enables TeamForge to see all modules in the repository.
  3. Modify the path to your Java home directory as in this example and add it to the file, followed by a single space.
    Example Modification

    /usr/local/java/j2sdk1.4.1_01/bin/java -cp

    Replace /usr/local/java/j2sdk1.4.1_01/ with the directory in which you have installed Java.

  4. Modify the paths to the .jar files as shown here, then add them to the file separated by colons.
    Examples Modifications

    /yourdirectory/sourceforge_home/lib/saaj.jar
    /yourdirectory/sourceforge_home/lib/axis-1.1rc1-va.jar
    /yourdirectory/sourceforge_home/lib/saturn.jar
    /yourdirectory/sourceforge_home/lib/jaxrpc.jar
    /yourdirectory/sourceforge_home/lib/externalintegration.jar
    /yourdirectory/sourceforge_home/lib/commons-discovery.jar
    /yourdirectory/sourceforge_home/lib/commons-logging.jar
    /yourdirectory/sourceforge_home/lib/log4j-1.2.8.jar

    Replace /yourdirectory/ with the directory in which you have installed TeamForge.

  5. Modify the parameters as follows:
    Example Modification

    -Dintegration.name=exsy1001

    Replace exsy1001 with the ID of your SCM server integration with TeamForge.

    -Dcvs.cvsroot=$CVSROOT

    No change

    -Dappserver.url=http://localhost:8080/ce-soap60/services/ScmListener

    Replace localhost with the name of your machine running TeamForge.

    -Dcvs.username=$USER

    No change

    -Dlog4j.configuration=file:/yourdirectory/sourceforge_home/etc/externalintegration/log4j.xml

    Replace /yourdirectory/ with the directory in which you have installed TeamForge.

    -Dexternalintegration.triggers.log.dir=/tmp

    No change

  6. Add the following Java class containing the body of the trigger.
    com.vasoftware.sf.externalintegration.triggers.cvstriggers.LogInfo
                            %{sVv}
    
  7. Check your file against the completed example shown on Completed loginfo trigger file.
  8. When you are finished, check the modified file back into your CVS repository. If you have not already done so, repeat the process for the verifymsg trigger file.

Create a Modified verifymsg Trigger File

Here’s how to modify the verifymsg trigger file.

  1. Check out the module CVSROOT from the CVS repository.

    The CVSROOT module is automatically created in all new CVS repositories, and contains the verifymsg and loginfo files. When created, the files contain only comments.

  2. Begin modifying the file by inserting .* followed by a tab. This enables TeamForge to see all modules in the repository.
  3. Modify the path to your Java home directory as indicated below. Add it to the file, followed by a single space.
    Example Modification

    /usr/local/java/j2sdk1.4.1_01/bin/java -cp

    Replace /usr/local/java/j2sdk1.4.1_01/ with the directory in which you have installed Java.

  4. Modify the paths to the .jar files as shown here, then add them to the file separated by colons.
    Examples Modifications

    /yourdirectory/sourceforge_home/lib/saaj.jar

    /yourdirectory/sourceforge_home/lib/axis-1.1rc1-va.jar

    /yourdirectory/sourceforge_home/lib/saturn.jar

    /yourdirectory/sourceforge_home/lib/jaxrpc.jar

    `/yourdirectory/sourceforge_home/lib/externalintegration.jar

    /yourdirectory/sourceforge_home/lib/commons-discovery.jar

    /yourdirectory/sourceforge_home/lib/commons-logging.jar

    /yourdirectory/sourceforge_home/lib/log4j-1.2.8.jar

    Replace /yourdirectory/ with the directory in which you have installed TeamForge.

  5. Modify the parameters as follows:
    Example Modification

    -Dintegration.name=exsy1001

    Replace exsy1001 with the ID of your SCM server integration with TeamForge.

    -Dcvs.cvsroot=$CVSROOT

    No change

    -Dappserver.url=http://localhost:8080/ce-soap60/services/ScmListener

    Replace localhost with the name of your machine running TeamForge.

    -Dcvs.username=$USER

    No change

    -Dlog4j.configuration=file:/yourdirectory/sourceforge_home/etc/externalintegration/log4j.xml

    Replace /yourdirectory/ with the directory in which you have installed TeamForge.

    -Dexternalintegration.triggers.log.dir=/tmp

    No change

  6. Add the following Java class containing the body of the trigger: com.vasoftware.sf.externalintegration.triggers.cvstriggers.VerifyMessage
  7. Check your file against the completed example shown on Completed verifymsg trigger file.
  8. Check in the modified file back into your CVS repository.
  9. If you have not already done so, repeat the process for the loginfo trigger file.