PM72000: USING CLEARTOOL FIND WITH MERGE() QUERY OPTION RETURNS 'ERROR: MALFORMED BRANCH PATHNAME: '/...'.'
Closed as user error.
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.
Find merge query (using "...") only emits the message when the branch/metadata does not exist.
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Applicable component levels
Translate this page: