view_scrubber
Remove derived object data containers from dynamic view
storage
Applicability
Product
|
Command
type
|
ClearCase®
|
command
|
Platform
|
UNIX®
|
| Linux® |
Windows®
|
Synopsis
view_scrubber [ –p | -a ]
[ –k ] [ –n ] [ DO-pname ...
]
Description
The view_scrubber program
cleans a view's private storage area by removing data containers for derived
objects (DOs). On Windows systems, view_scrubber scrubs
only the files that are piped to its stdin stream. On UNIX and Linux systems,
the most common way to run the view_scrubber is indirectly,
by running the view_scrubber.sh script supplied with ClearCase.
Restriction: This command does
not apply to snapshot views.
Important: This
command modifies the way in which view-resident objects are combined with
VOB-resident objects to produce a virtual workspace. To avoid errors, make
sure that no application or development tool is using the view's files when
this command is executed.
Scrubbing is useful in the situations
described in the following sections.
Cleaning up after a winkin
When a clearmake or omake build
winks in a shareable DO for the first time, the DO's data container is copied
from the private storage area of the view in which it was built to the VOB
storage pool. At this point:
- The view where the DO was originally
built continues to use the data container in view storage.
- Any other view to which the DO is
subsequently winked in uses the data container in VOB storage.
Running view_scrubber in
the view where the DO was built simplifies the situation. view_scrubber performs
the following steps:
- Removes the DO with an operating
system command. This deletes the data container from view storage.
- Winks in the DO to the view, which
establishes a link to the data container in VOB storage.
Now, all views that share the DO access
the data container in VOB storage, which eliminates the redundant, space-consuming
data container in view storage.
Self-winkin
By default, the data container for a nonshareable
DO or an unshared DO remains in view storage until the DO is deleted or overwritten. view_scrubber –p transfers
the data container to VOB storage, thus freeing space in the view storage
area. In essence, this involves winking in the DO to the same view. view_scrubber –p performs
the following steps:
- (Nonshareable DO only) Converts the
DO to a shareable DO by writing information about the DO into the VOB.
If the DO has any sub-DOs or siblings, view_scrubber –p or view_scrubber –a makes them shareable. view_scrubber –a stops
after this step is complete. view_scrubber –p executes
the following additional steps:
- Promotes the data container from
view storage to VOB storage.
- Removes the DO with an operating
system command, which deletes the data container from view storage.
- Winks in the DO to the view, which
establishes a link to the data container in VOB storage.
You can also use the winkin command
to accomplish this scenario.
Note: When a nonshareable DO
is converted to a shareable DO, its DO ID changes. For more information, see
the
IBM Rational ClearCase Guide to Building Software.
Options and arguments
Advertising and promotion
- Default
- view_scrubber removes view-resident data containers,
then restores the derived objects to the view through winkin. Requirement: The
derived objects' data containers must already be in VOB storage.
- –a
- Before performing the default processing described above, writes information
about the DO to the VOB to advertise its availability for winkin, but does
not copy the DO to the VOB.
- –p
- Before performing the default processing described earlier, writes information
about the DO to the VOB to advertise its availability for winkin, then promotes
(copies) the derived objects' data containers from view storage to VOB storage.
This removes the requirement that the data containers be in VOB storage. (view_scrubber –p implies
execution of view_scrubber –a.)
Error recovery
- Default
- view_scrubber aborts if it is unable to complete its
work on any derived object.
- –k
- Keeps going, even if one or more derived objects cannot be processed successfully.
No-execute option
- Default
- view_scrubber performs its work and displays appropriate
messages.
- –n
- Suppresses the actual processing of data containers. view_scrubber displays
messages describing the work it would have performed.
Derived objects to process
- Default
- If you do not specify any DOs as command arguments, view_scrubber reads
a one-per-line list of pathnames from stdin, which must be a pipe.
- DO-pname ...
- One or more standard pathnames of derived objects.
Examples
- On a UNIX or Linux system, make the view to be scrubbed
the current working view, and move to the directory of interest. Then scrub
DO containers for the entire directory tree, using the script ccase-home-dir/etc/view_scrubber.sh (which invokes the view_scrubber program).
% cleartool setview big_view
% cd /vobs/src%ccase-home-dir /etc/view_scrubber.sh
- On a Windows system, make the view to be
scrubbed the current working view, and move to the directory of interest.
Then scrub DO containers for the entire directory tree, using a pipe.
C:\> Z: (change to a view drive)
Z:\> cd \vob_src\pr1
Z:\vob_src\pr1> dir /s /b *.obj | view_scrubber
- On a UNIX or Linux system, scrub two DOs, promoting
the data containers to VOB storage.
% ccase-home-dir/etc/view_scrubber –p /view/cep/vobs/dev/lib/cmd.h \
/view/smg/vobs/dev/lib/cmd_api.h