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:
    -help                  - Print this message.
    -h
    -v                         - Increase verbosity
    -force                     - Use the _FORCE suffix in vtk_node_change_status
    -silent                    - Do not print count of invalidated nodes.
    [-hier] -set <setName> ... - Invalidate given set by name. Repeatable.
                                 Invalidate all subsets also with -hier.
    -dir         <dirname> ... - Invalidate jobs in given directories.
                                 Repeatable.
    -subdirs     <dirname> ... - Same as -dir but recursive. Repeatable.
    -alljobs                   - Invalidate all jobs.
    -allnodes                  - Same as -alljobs (backwards compatibility).
    -why     <text_reason> ... - Optional reason for invalidation.
    --                         - End value list for an option.
                                
  
  EXAMPLES:
  
    % vovinvalidate filea fileb filec
    % vovinvalidate 00023456
    % vovinvalidate -dir .
    % vovinvalidate -set set1 set2 -- filea fileb 10332 10334
    % vovinvalidate -alljobs -why "Doing a clean build"