I can't seem to get cleartool's find to work on a simple query

Gordon picture Gordon · Mar 13, 2012 · Viewed 7.8k times · Source

Disclamer: I'm very new to Clear Case.

I want to find out what files I've modified on a given date. I am using a Snapshot view:

ClearCase version 7.1.2.0 (Tue Sep 21 12:01:15 EDT 2010) (7.1.2.D100920)
@(#) MVFS version 7.1.2.0 (Tue Aug 10 00:37:25 2010)
cleartool                         7.1.2.0 (Wed Sep 8 12:56:06 2010)
db_server                         7.1.2.0 (Sat Sep 4 01:27:12 2010)
VOB database schema version: 54

EDIT: FYI, my view was created via CCRC (Clear Case Remote Client).

Here's what I've tried (from my Windows machine):

cd c:\SnapshotViews\my_view_name
cleartool
cleartool> find . -element "{created_since(12-Mar-2012)}" -print
cleartool: Error: Not an object in a vob: ".".
cleartool: Warning: Skipping ".".
cleartool>

cleartool> find . -cview -version 'created_since(12-Mar-2012)' -print
cleartool: Error: Not an object in a vob: ".".
cleartool: Warning: Skipping ".".

The IBM docs are sort of useless, the queries they provide don't work either. Can someone help me out?

Answer

VonC picture VonC · Mar 13, 2012

You must go one directory within your snapshot view in order to be in a Vob.

  • c:\SnapshotViews\my_view_name is the root directory of your snapshot view
  • c:\SnapshotViews\my_view_name\aVob is within a Vob as referenced by the config spec of your snapshot view

Only Vobs contains elements (versions of directories and files), which means your cleartool find command can only find said elements within a Vob.

See "Additional examples of the cleartool find command" for more.
See also cleartool find man page.

If you stay at the root level of your snapshot view, you can type:

cleartool find <vobtag> -element "{created_since(target-data-time)}" -print

However, if you are on CCRC (that is ClearCase Remote Client), you won't have access to the cleartool find command.
Only a subset of cleartool commands are supported: see "Rational ClearCase Remote Client Command Line Interface (CCRC CLI)".