Search code examples
clearcaselabeling

Labelling files with spaces in ClearCase


We have a script that labels files recursively. Here is the command that executes the label command.

cleartool ls -recurse -vob_only -visible -short | \
    xargs cleartool mklabel -replace -follow VPCEUM_9.0.0.99 > label.txt 2>&1

When is encounter files with spaces the name such as /directory/d1/my file is here.doc, the command errors off.

How do I get ClearCase/unix to accept the space?


Solution

  • You have tow approaches with cleartool mklabel:

    • you can use mklabel directly, with the -recurse option.
      That will label all the files (with or without space) for you. But that can label files that are not in your current view.

       cleartool mklabel -recurse -replace -follow VPCEUM_9.0.0.99
      
    • Or, as I mentioned in "Cleartool: How to apply label to files which are in my current view only?", you use cleartool find:

      # Windows syntax
      cleartool find . -cview -exec "cleartool mklabel -replace TEST_LABEL \"%CLEARCASE_XPN%\""
      
      # Unix syntax
      cleartool find . -cview -exec 'cleartool mklabel -replace TEST_LABEL "$CLEARCASE_XPN"'
      

    The "$CLEARCASE_XPN" part allows you to label files with spaces.