Linux + ClearCase + BC3 "@@"

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • klandingham
    Visitor
    • Jan 2015
    • 4

    Linux + ClearCase + BC3 "@@"

    Hi, I'm trying to get 3-way merge working during a ClearCase stream rebase, with BC3 being the merge tool.

    I've read everything I could find and still can't get it working.

    If I understand my issue correctly, ClearCase is sending filenames like <blah,blah>@@<version info>, and BC is choking on those (I get "can't open file" errors). I'm not sure what the semantics of the "@@" is in the pathnames ClearCase is outputting and that I subsequent forward, but BC3 seems unable to deal with them.

    I read in another thread here that BC(3?) has a special operating mode where it will do the "right thing" with these "@@" paths. That post also says that BC puts itself into that mode by "detecting" ClearCase: looking for an env variable "CLEARCASE_HOME".

    I have this defined, yet BC doesn't seem to be in it's special ClearCase mode, and it continues to choke on the "@@" paths.

    Any suggestions?

    Thanks.
  • Aaron
    Team Scooter
    • Oct 2007
    • 16002

    #2
    Hello,

    The @@ characters in the file name are part of the temporary file path that Clearcase generates. BC3's special handling is to work around this to detect the correct extension and load the right file format. The file path, however, should be valid and open in BC3 or other applications. Does the file path exist and you are able to see the temporary file in Explorer or another editor program?

    The other 'right thing' we do is re-organize the incoming parameters in order to open the diff. If this was failing, there would be invalid paths or incorrect text in the file paths.
    Aaron P Scooter Software

    Comment

    • Aaron
      Team Scooter
      • Oct 2007
      • 16002

      #3
      Also, you mention that the merge is failing, but does the diff fail? Are you running BC3 Pro? Pro is required for the Text Merge session type, which is needed to act as the mergetool, while a diff uses the 2-way Text Compare.
      Aaron P Scooter Software

      Comment

      • klandingham
        Visitor
        • Jan 2015
        • 4

        #4
        Answers to questions...

        Does the file path exist and you are able to see the temporary file in Explorer or another editor program?
        I've mapped the ClearCase merge to BC3 by creating a link "xmerge" in the mgrs directory (this is Linux) to a script that launches BC3. If I revert back to ClearCase's mapping (to xcleardiff) the merge works as expected (I see all the files' contents). So at least xcleardiff seems to be able to open the files specified with "@@" in their pathnames.

        The other 'right thing' we do is re-organize the incoming parameters in order to open the diff. If this was failing, there would be invalid paths or incorrect text in the file paths.
        During troubleshooting I replaced that launcher script with a simple one that echoes its arguments, so I could see what I was getting from ClearCase. I've experimented with the number/order of these arguments that I'm passing to BC3 - the results seem to indicate that even when the "@@" arguments are put in the right position in the parameter list, BC3 can't open the files. I think the other indicator that the arguments are positionally correct is that I do see the "@@" pathnames in the path boxes at the top of each file section on the screen, but there is a "can't open file" error in each.

        Comment

        • klandingham
          Visitor
          • Jan 2015
          • 4

          #5
          Originally posted by Aaron
          Also, you mention that the merge is failing, but does the diff fail? Are you running BC3 Pro? Pro is required for the Text Merge session type, which is needed to act as the mergetool, while a diff uses the 2-way Text Compare.
          Which diff are you referring to? There are multiple places to launch a diff from ClearCase's Linux GUI.

          Yes, I am using 3.1.8 Pro version.

          Thank you.

          Comment

          • Aaron
            Team Scooter
            • Oct 2007
            • 16002

            #6
            Hello,

            Instead of creating the wrapper, please try editing the "map" file that Clearcase uses. With a wrapper, we probably cannot detect Clearcase and would then be unable to perform all the extra handling we've built in for it. We have directions here (which need modification for Windows to Linux):
            http://www.scootersoftware.com/support.php?zz=kb_vcs#cc

            While BC3 is open and showing the diff, we would display the file paths we are trying to open. The troubleshooting step I recommend would be to then check and make sure the file exists in these locations while BC3 remains open. Once you close BC3, the temp files would be deleted.

            It also appears you are using a fairly old version of BC3. Are you able to update to the latest BC3 release (3.3.13), which is a free update for all 3.x users?
            http://www.scootersoftware.com/download.php?zz=dl3_en
            Aaron P Scooter Software

            Comment

            • klandingham
              Visitor
              • Jan 2015
              • 4

              #7
              Somewhat unrelated possible cause.

              Hi, I discovered today that my problems may be stemming from unexpected values in one or more shell variables.

              Thank you for your support.

              Comment

              Working...