Invalidate Dependent Nodes

The utility vovtouch toggles the status of the given nodes twice, so that each node passes through a state of being INVALID. The end state of each node depends on what state it started in.

The effect is that all dependent nodes are invalidated. This utility is generally used with primary inputs. This is commonly done to force a retrace of a portion of the design.

Unlike the UNIX utility touch, vovtouch does not change the timestamp of the files.

vovtouch

Toggles the status of the given nodes twice, so that each node passes through a state of being INVALID.


vovtouch: Usage Message

DESCRIPTION:
    
    Toggle the status of nodes twice following one of these
    sequences:

           Start                      Finish
        ----------------------------------------
           VALID    ->  INVALID  ->    VALID
           INVALID  ->   VALID   ->  INVALID
           FAILED   ->   VALID   ->  INVALID
    
    Nodes with status different from VALID, INVALID or FAILED
    are not affected.

    This has the effect of invalidating all dependent nodes.

USAGE:
     % vovtouch <node_descriptor> ...
     
     where the node descriptor is either the name of a file
     or the VovId of a node in the dependency graph.

OPTIONS:     
     -h
     -help            -- This message.
     -v               -- Increase verbosity.

EXAMPLES:
     % vovtouch aa
     % vovtouch 00023456  00023457

Comments

You can produce a similar effect of invalidating all dependent nodes using the command vovinvalidate.

The difference is that with vovinvalidate, the target nodes are changed to the INVALID state, while with vovtouch, the target nodes may end up back in a VALID state if it was in a VALID state to begin with.

vovinvalidate

Invalidate nodes in the dependency graph. The objects are typically files or jobs, which are passed by VovId or by file name, and sets, which are passed by name.


vovinvalidate: Usage Message

Invalidate nodes in the dependency graph.
The objects are typically files or jobs, which are
are passed by VovId or by file name, and sets, which are
passed by name.

USAGE:

  vovinvalidate [OPTIONS] <nodeId> ...

OPTIONS:
  -alljobs                   - Invalidate all jobs.
  -allnodes                  - Same as -alljobs (backwards compatibility).
  -dir <dirname> ...         - Invalidate jobs in given directories.
                               Repeatable.
  -force                     - Use the _FORCE suffix in vtk_node_change_status.
  -help                      - Help usage message.
  -h
  [-hier] -set <setName> ... - Invalidate given set by name. Repeatable.
                               Invalidate all subsets also with -hier.
  -sicktasker                - Clears WHY and crash recovery-related
                               properties (for use with running/retracing
                               jobs that are no longer attached to a tasker).
  -silent                    - Do not print count of invalidated nodes.
  -subdirs <dirname> ...     - Same as -dir but recursive. Repeatable.
  -v                         - Increase verbosity
  -why <text_reason> ...     - Optional reason for invalidation.
  --                         - End value list for an option.

  EXAMPLES:

    % vovinvalidate filea fileb filec
    % vovinvalidate 00023456
    % vovinvalidate -sicktasker 34567
    % vovinvalidate -dir .
    % vovinvalidate -set set1 set2 -- filea fileb 10332 10334
    % vovinvalidate -alljobs -why "Doing a clean build"