RTC/Git integration: who's done it/how well does it work?
Hi all. I've read the "Integrating other SCM Systems with Rational Team Concert 2.0" document from 2009, which gives a lot of detail but is a little lacking as to the higher-level pros and cons, and searched these forums looking for people who've actually implemented this integration but haven't found much.
Has anyone out there actually implemented the RTC/Git bridge described in the above document? How is it working for you? Do you have any advice? Are you willing to give a general overview of how your system works? With a DVCS there are lots of decisions to make (it seems to me); do you connect RTC with only the "master" git repository? All of them? Etc. Is there any existing community around this environment that I can contact? What features of RTC does one lose by choosing the Git bridge instead of the builtin SCM? The above doc just says "it is possible to provide a similar type of integration between RTC work items and other SCM systems by using comments and the "Related Artifacts" links provided by the Work Items component. The level of integration will not be as high as with RTC SCM but it is useful none the less"; I'm wondering exactly what "not as high" means: what features are preserved, and which are not. Finally in some of my readings I've seen discussion of a "connector", while the above doc describes a Git "bridge". Are "connector" and "bridge" different names for the same thing? If not what is the advantage of a connector over a bridge (or vice versa), and if a connector gives tighter integration then is there one available for Git and/or would it be difficult to create one? Thanks for any guidance/pointers/guidelines anyone can provide! Cheers! |
22 answers
Geoffrey Clemm (30.1k●3●30●35)
| answered Oct 18 '11, 11:27 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
We use the term "connector" to refer to a mechanism for integrating two
distinct repositories. The terms "bridge", "synchronizer", and "importer" refer to different types of connectors. A bridge allows you to create links from artifacts in one repository to artifacts in another repository, and allows you to navigate those links. A synchronizer takes a user-selected object in one repository, creates a clone of that object in the other repository, and keeps the object and its clone synchronized. An importer is like a one-way synchronizer ... taking objects in one repository, and creating copies in the other repository. Cheers, Geoff On 10/17/2011 5:53 PM, madscientist wrote: ... |
Geoffrey Clemm (30.1k●3●30●35)
| answered Oct 26 '11, 12:18 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Enhancing the GIT integration is being actively investigated, but there
is not yet a committed plan ... stay tuned. Cheers, Geoff On 10/25/2011 11:53 AM, madscientist wrote: gmclemmwrote: |
We use the term "connector" to refer to a mechanism for integrating two distinct repositories. The terms "bridge", "synchronizer", and Thanks Geoff; that's very helpful in understanding the docs available. So far I've had no responses to anyone using RTC with git, in real life. Is this not something anyone has ended up doing, "for real"? The whitepaper is interesting but it was published in 2009 IIRC, and uses RTC 2.0. Are there any updates/enhancements available if one is using RTC 3.x? I was hoping to find a user community around RTC+git but so far... Thanks! |
Hi Guys,
I am working on RTC 5.0 integration with GIT. My goal is to integrate RTC work item with GIT commit. Till now I have followed IBM documentation for this activity http://www-01.ibm.com/support/knowledgecenter/#!/SSCP65_5.0.0/com.ibm.team.connector.cq.doc/topics/c_integ_git.html
but no luck, when I push my changes to git repository with work item id, it doesnt create a link in RTC. Also as per document it says GIT repo should be hosted on Apache Smart HTTP server but my GIT repo is hosted on Gerrit Jetty Web server. Btw we also use Gerrit. I dont know if that makes a difference but please let me know what possible workaround can be done or has anyone worked on this integration?
Thanks
Amrinder
Comments
sam detweiler
commented Aug 12 '14, 4:19 p.m.
you did install the hooks on the git server, right? and configure the variable fo reht rtc server url, etc. in 5.0 the hook samples are provided. I don't think it matters what server hosts the git server..
|
Yeah my project repo is "testproject2.git". There is a hooks folder and I copied post-receive.py and pre-receive.py scripts over there. I did same for Gerrit and placed ref-update.py and ref-updated.py scripts. In the scripts I have " Jazz repo Url, GIT repo key, Python path and hooks path " But apart from this stuff, is there anything I need to modify in those scripts, I downloaded the hook scripts from jazz.net and followed Readme.txt Comments
sam detweiler
commented Aug 12 '14, 4:38 p.m.
is the right python version installed on the server? these scripts depend on the pre-compiled python classes (pyc). that also need to be in the path (I think.. just setting this up on my 5.0 server (since I hadn't done it)..
|
Yeah Python-3.3.5. Are you talking about hookslib.pyc and rtcprocess.pyc? I havent copied these in the path. So i copy these scripts to where I have installed python? This is the path I have on my server
/usr/share/doc/Python-3.3.5/rtcgithooks : I copied all scripts here (AssociateWorkitem.py, post-receive.py, pre-receive.py, ref-update,ref-updated and ValidatePush.py) Comments
sam detweiler
commented Aug 12 '14, 4:50 p.m.
and that location is in the path for the git server?
commitUrl='$repo/commits/$sha1'
|
Yes the path I have mentioned is in GIT server. Hooks talk about C:/python but thats an illustration? Please share how the path should like so I can do some search on my end? Comments
sam detweiler
commented Aug 12 '14, 5:26 p.m.
Ok, I was wrong.. on the 5.0 integration, the path to the git server must be HTTP based.. mine uses the git protocol, so that won't work.
|
You mean the Url to git server?? Mine is based on HTTPS.. So how would the installation path to python look like on linux server? Comments
Amrinder Singh
commented Aug 12 '14, 6:27 p.m.
I am talking in regards to this path:
pythonPath="C:/Python33/python"
Isnt this an illustration and we have to fill in the python path from the server? got it.. illustration meant something else to me
|
Btw.. I am also using Ubuntu 12.04. So you think my python path is not right where I installed it (/usr/share/doc/Python-3.3.5)?
You put your rtc git stuff in /etc/rtc-git (You mean all the hook scripts and python scripts?)
Comments
sam detweiler
commented Aug 13 '14, 1:25 p.m.
I still have to get my http git access setup before I can finish the 5.0 git repo config
|
But shouldnt the hook scripts be placed in hooks folder of your git repository?? Example: git-repo-location/ .git/hooks folder. And I am also configuring Gerrit server side hooks so they'll be in gerrit-installation-location/hooks Comments
sam detweiler
commented Aug 13 '14, 2:37 p.m.
yes, see my updated comment.. I unzipped the rtc provided zip into /opt/rtg-git
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.