RTC/Git integration: who's done it/how well does it work?
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
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:
...
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?
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
"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.
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!
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.
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!
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
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
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
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
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
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