It's all about the answers!

Ask a question

RTC and Git Integration setup

Christine Makasy (73722) | asked Apr 07 '15, 7:18 a.m.
I need to integrate Rational Team Concert and Git. I have to "plain" installations, a git installation on ubuntu including apache and an RTC installation on Windows and I have the article in front of me.

Do you have any proposal of the port number, the document root folder I should use? Could anyone provide me a running apache config example?

Many thanks in advance

Accepted answer

permanent link
Kiran M N (3262) | answered Apr 07 '15, 9:36 a.m.
 Here's an example apache conf file (simplified version of what we have used internally).

<VirtualHost *:8113>
   DocumentRoot /gitrepos/
   SetEnv GIT_PROJECT_ROOT /gitrepos/
#   SSLEngine on
#   SSLCertificateFile  /certs/newCA.crt
#   SSLCertificateKeyFile /keys/newCA.key

   ScriptAliasMatch \
	"(?x)^/git/(.*/(HEAD | \
			info/refs | \
                        com\.ibm\.team\.git\.service\.GitResourceService/.* | \
			objects/(info/[^/]+ | \
				 [0-9a-f]{2}/[0-9a-f]{38} | \
				 pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
			git-(upload|receive)-pack))$" \
# Change the path above

#   ScriptAlias / /var/www/git/gitweb.cgi/

   <Directory "/usr/libexec/git-core/">
     Options +ExecCGI
     Allow from all

   <Directory "/rtc-git-hooks/">
     Options +ExecCGI
     Allow from all

   <Directory "/gitrepos/">
     Dav on
     Order allow,deny
     Allow from all

   <LocationMatch "^/git/.*">
       Dav on
       AuthType Basic
       AuthBasicProvider ldap
       AuthName "Git"
       AuthLDAPURL "ldap://localhost:389/ou=people,dc=test,dc=lan?uid"
       Require valid-user
       Order allow,deny
       Allow from all

   #ProxyPass         /ccmgit  http://localhost:8080/ccmgit
   #ProxyPassReverse  /ccmgit  http://localhost:8080/ccmgit

Christine Makasy selected this answer as the correct answer

Kiran M N commented Apr 07 '15, 9:41 a.m.

For some reason the strings '/' (forward slash) is getting replaced with '="' in the example above. So, you may have to manually search / replace this.

Christine Makasy commented Apr 14 '15, 9:37 a.m.

Many thanks for your examples. Now I have configured the environment as described, set up my "own" git server and  I have access from outside to my git repositories there. But registering a Git repository in RTC ccm shows me a communication error:  Invalid remote repository; reason = "Error communicating with Git server". Do you have a hint for the reason why. Thanks in advance

Kiran M N commented Apr 15 '15, 1:32 a.m.

That is probably because you haven't filled the credentials to make requests to Git server. Fill them out in RTC repository registration page in the Settings tab.

Adel Salah commented Aug 06 '15, 3:00 a.m. | edited Aug 09 '15, 12:29 a.m.

Hello Christine,

the thing with "Authorize Git Requests" was the following:

if I authorize Git requests as admin, I got the error: HTTP Error 500: Internal Server Error but when I do that with a normal user account the rtc hooks & will be executed without error but still no Links are created on the RTC side.

the reason is probabely the fact that some git2.dll ist needed


-On Windows systems, edit to configure the following variable $LIBGIT2_PATH ; The location where the libgit2 module is installed. For example: $LIBGIT2_PATH ="C:/libgit2/git2.dll".

my problem is that I don't find that dll as binary but only as sources, which should be compiled and to generate such dll.

my question is: is that the normal way to have some dll's respct. do you know where to get it?



Kirk Vogen commented Feb 26 '19, 9:47 a.m.

 Regarding the libgit2 library, I also wasn't able to find the pre-built binary for 0.21.0.

I found where the source code resides, got the source for 0.21.0, and was able to build it from source pretty easily. That was done on am Amazon Linux host. I'm not sure if building the library as a DLL on Windows is similarly easy.

One other answer

permanent link
Shubjit Naik (1.5k1613) | answered Apr 07 '15, 10:00 a.m.
 Hi Christine

You can use any unused port, and if there is a firewall make sure you open it to be accessed outside the server.
I used the default port, 8080 which works fine and the document root as /var/www/html


Your answer

Register or to post your answer.