tags:

views:

823

answers:

4

Hi, I'm struggling with using ClearCase at my current job and it's a REAL pain, considering that we were using CVS last year.

I'm trying to make a build server that downloads the code from ClearCase, compiles it and generates all the distributions. The build server must be RHEL5 and the ClearCase server is a Windows machine, so I don't think using normal ClearCase client would be an option.

Is there any possible way of having a ClearCase CLI client that just downloads the code?

I'm looking into CCRC but it seems that has no CLI interface. I also looked into IBM page but it needs a "CCSHARED" dependency that I have no idea of where it could be. I installed CCRC for Linux and pointed to the install directory with no success:

german@Shakuras:/instaladores/linux/CCRCCLI$ ./rcleartool 

rcleartool>         

rcleartool> update

Exception in thread "main" java.lang.NoClassDefFoundError: javax/wvcm/WvcmException

    at com.ibm.rational.ccrc.cli.command.ClearWan.main(Unknown Source)

german@Shakuras:/instaladores/linux/CCRCCLI$

`

+2  A: 

You are right: a Linux client would not be able to access VOB data on any Windows share.

A CCRC could help either: it is a web server with "web views": a special kind of snapshot view (which could be what you want since a snapshot view download files on its workspace).
Since the CCRC server need to access the VOB data... it cannot be a Linux one, but a Windows one.

The API seems a little buggy with a CCRC7.0.1, but with CCRC7.1 is is better:
You have in this thread an example of web view update.

        trace("Getting CM API provider");
        CcProvider provider = getProvider(CMServerUrl, login, password); 
        trace("Create pathname to update");
        File folder = testFile; 
        trace("Getting ressource location");
        StpLocation loc = provider.filePathLocation(Domain.CLEAR_CASE,folder); 
        trace("Creating view proxy");
        CcView myview = provider.ccView(loc); 
        trace("Doing view refresh");
        myview.doRefresh(flags, feedback); 
        trace("Refresh done");

Note: even if your Vob Server is 7.0.x, you still can install a CCRC 7.1 (it will be able ot access the data on a Vob Server 7.0.x)

Notebis: the page you mentioned does detail how to set the CCSHARED variable.

VonC
A: 

Another suggestion might be to run something like Hudson to build your code on the Windows box.

That way, instead of getting ClearCase to pull the code, you can get Hudson to push the code onto the build server and build it all remotely using the Master/Slave technique.

Just an idea, perhaps a different way of looking at it :)

Spedge
A: 

Check step 6(i) or 6(ii) in the following page to figure out the value of CCSHARED variable.

http://www-01.ibm.com/support/docview.wss?rs=984&context=SSSH27&dc=D400&uid=swg24021929&loc=en%5FUS&cs=UTF-8&lang=en&rss=ct984rational

CCSHARED should point to the Shared Resources directory that was created while you installed CCRC on your system. For me, it is something like "/opt/ibm/IMShared".

Thanks !

Vandana Shneoy
+1  A: 

It's not absolutly correct, that Linux systems can't access Windows VOB Server.

With the ClearCase own filesharing protocoll "CCFS" a Windows VOB server can be accessed from Linux full client, but only for snapshot views.

We have done this with our Ubuntu Linux Build systems, and Windows VOB Servers.

You must enable CCFS on the VOB server. It's in the CC Home-Base/Control Panel on the server. The text of the checkbox is a bit misleading. It lets you think it's only to enable CCFS to be used as a client, but it enables it also to allow VOB access from Linux to the server.

Rest is quite simple on the Linux. Only difficulty is to get CC installed on the Linux dialect, because IBM supports only a view Linux OS variants. But with some small adaptions and symbole links, this works. Note: you don't need to install MVFS in this szenario. Of course you must have correct group and users file on Unix, matching the windows groups and account.

schneigu