Clean Out Stuck, Unproductive Nodes

The CLI Program vsz - Vov Stuck Node Zap

The command line program vsz is a general clean up utility that removes nodes in the dependency graph that get stuck in an unproductive state.

The name of this program can be thought of as the acronym for "Vov Stuck & Zapped."

vsz

Zap away problematic nodes.


vsz: Usage Message
  
  DESCRIPTION:
      Zap away problematic nodes: 
          1 - isolated files are forgotten;
          2 - blocking files that are retracing are forgotten;
          3 - other blocking files are shown.
      Optionally, check that all names in trace are canonical.
  
  USAGE:
       % vsz [options] 
  
  OPTIONS:     
       -check           -- Check Canonical names (expensive)
       -fix             -- Fix canonical names (expensive)
       -help            -- This message.
  
  EXAMPLES:
       % vsz -help
       % vsz
  

Checking and Fixing File Names with vsz

The command vsz can also report, and fix, file nodes that have names that do not follow the standard naming convention. When run with the option -check, vsz reports all the file names that are not canonical. This is a computationally expensive test, requiring several minutes for graphs with thousands of files. For each non-canonical name, the utility suggests a corrected name. You can rename the file to the suggested name with CLI command vovrename.

The renaming is automatic if the option -fix is used instead of -check. Examples:
% vsz -fix... output omitted ...

Examples

% vsz -help
% vsz
Isolated files are commonly created because the I/O behavior of a tool changes over time. For example, suppose you have a tool that generates an error log file because it has detected an error condition. The error log file is therefore an output of the tool. Now you fix the error condition and rerun the tool. This time the error file is not generated and is therefore no longer an output of the tool. The node associated with the error log file is still in the graph, but it has become isolated.
% vsz
vsz: message: No isolated node.
vsz: message: No blocking nodes that are retracing.
vsz: message: No blocking nodes.