Search code examples
clearcasecleartool

ClearCase lsh query filtering


I was wondering if it is possible to refine the following command prompt query:

cleartool lsh -all -fmt "%e,%Xn,%Vn,%Nd,%u\n" -since 20090101 > c:\outputfile.csv

I'm looking for a way to restrict my results to 4 users and only for a file extension *.txt as the records returned in my *.cvs file are simply too many and excel trows a nice error because of the high numbers of rows.

I tried to combine some of the cleartool find commands (created_by) but without success.

The current output is fields are:

  1. type of operation
  2. full path to the file
  3. version info
  4. timestamp
  5. username

Any help would be greatly appreciated.


Solution

  • I tried to combine some of the cleartool find commands, but without success.

    Yet, it is the way to filter effectively the set of versions, each one can be then passed to cleartool lshistory.

    Trying to do all in one pass is generally too tricky (cleartol find xxx -exec "cleartool lshistory %CLEARCASE_XPN%"), as in your previous question.

    It is best to focus on:

    • listing the right versions through cleartool find -fmt "%n %u ..." in a file, in order to include the name of the user creating the version found.
    • filtering that file in order to keep only the requested users, and file types.
    • call cleartool lshistory for each remaining versions.

    Unless 'Vob1', 'Vob2' and 'Vob3' are all your vobs (in which case you can do a cleartool find -avobs), it is easier to make one cleartool find query per vob, appending the results to previously mentioned file.