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"