IBM Support

PM72000: USING CLEARTOOL FIND WITH MERGE() QUERY OPTION RETURNS 'ERROR: MALFORMED BRANCH PATHNAME: '/...'.'

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as user error.

Error description

  • IBM Rational ClearCase supports many options to the cleartool
    find command using a query language to select objects based on
    their metadata.
    One query used in version selection is
    merge(from-location,to-location) to verify whether there is a
    merge hyperlink between two branches or versions.
    You may see the following error message when such a link does
    not exist and a relative branch path is used in the merge()
    query.
    
    cleartool: Error: Malformed branch pathname: '/...'.
    
    For example, consider the following version of 'file1.txt' which
    has a merge hyperlink to version /main/branch1/1 but not to any
    versions of the branch2 branch.
    
    [ben@hangar18 malform]$ cleartool describe file1.txt
    version 'file1.txt@@/main/fp2/1'
      created 2012-08-27T14:18:56-04:00 by ben.ben@hangar18
      Element Protection:
        User : ben      : r--
        Group: ben      : r--
        Other:          : r--
      element type: text_file
      predecessor version: /main/fp2/0
      Hyperlinks:
        Merge -? /vobs/vob1/malform/file1.txt@@/main/branch1/1
    
    A cleartool command to find the latest version on the fp2 branch
    and test whether it has been merged to branch2 (which it has
    not) will print an error instead of an empty result set.
    
    [ben@hangar18 malform]$ cleartool find file1.txt -version
    'version(.../fp2/LATEST) ?? merge(.../fp2, .../branch2)' -print
    cleartool: Error: Malformed branch pathname: '/...'.
    cleartool: Warning: Skipping 'file1.txt'.
    
    Where the merge has been done to branch1, the same query for
    that branch works as expected.
    
    [ben@hangar18 malform]$ cleartool find file1.txt -version
    'version(.../fp2/LATEST) ?? merge(.../fp2, .../branch1)' -print
    file1.txt@@/main/fp2/1
    
    Using the full branch path (/main/branch2) does not return the
    error.
    
    [ben@hangar18 malform]$ cleartool find file1.txt -version
    'version(.../fp2/LATEST) ?? merge(.../fp2, /main/branch2)'
    -print
    
    Steps to reproduce: This behavior can be reproduced by using the
    relative branch pathname in the merge() syntax above in a find
    command where the merge() query will fail to be true.
    
    Workaround: The only known workaround at this time is to use the
    absolute pathname of the to-version in the merge() section of
    the query. If this is not possible because the exact branching
    structure
    is unknown, you should consider using cleartool findmerge rather
    than cleartool find with the merge() query.
    

Local fix

Problem summary

Problem conclusion

Temporary fix

Comments

  • Find merge query (using "...") only emits the message when
    the branch/metadata does not exist.
    

APAR Information

  • APAR number

    PM72000

  • Reported component name

    CLEARCASE WIN

  • Reported component ID

    5724G2900

  • Reported release

    800

  • Status

    CLOSED USE

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-31

  • Closed date

    2012-11-28

  • Last modified date

    2012-11-28

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 November 2012