Ignore Links into the DesignSync Cache

If you use DesignSync, you want to ignore links to the DesignSync cache.

This can be done by setting the variable VOV_SYNC_CACHE_DIR to the full path to the DesignSync cache. The symlinks will not be resolved to the final name, but will keep the original symlink name. The nodes are still present in the graph (they are not excluded, as with exclude.tcl).

For example, suppose that you have the cache directory in /opt/local/dssc/sync_cache, you can avoid showing the cache by setting the following environment variable before running the tools:
% setenv VOV_SYNC_CACHE_DIR `vovequiv -p /opt/local/dssc/sync_cache` 

We use vovequiv -p ... to eliminate any symbolic links in the path of the DesignSync cache itself.

The variable VOV_SYNC_CACHE_DIR is read by the wrappers (vw, vov, ...) at runtime.

If you use multiple caches, use a colon-separated list of paths as the value of the VOV_SYNC_CACHE_DIR.
% setenv VOV_SYNC_CACHE_DIR /opt/local/dir1/sync_cache:/remote/.sync/cache_dir
Let's assume you have the following file on disk:
%  ls -lrt top.v
lrwxr-xr-x  1 ged  staff  126 Aug  9 14:37  top.v ->
      /opt/local/dssc/sync_cache/sfb/sfbf04ef93dg158ed-1.2-1310712769-0

FlowTracer will display the file as top.v when the VOV_SYNC_CACHE_DIR environment variable is correctly set.

The real file name sfbf04ef93dg158ed-1.2-1310712769-0 will not be displayed.

To further debug this mechanism, you can use the -d option in vovequiv to see how symbolic links are mapped:
% vovequiv -d -p aaa
vovsh Aug 29 09:49:39 SYMLINK: SYNC_CACHE_DIR is '/remote/projects/sync_cache'
vovsh Aug 29 09:49:39 SYMLINKS: Replaced '/home/casotto/projects/ac8head/flowtracer/testing/flowtracer/main/dssc_test_run/abc.txt' with '/home/casotto/projects/ac8head/flowtracer/testing/flowtracer/main/dssc_test_run/tmp_sync_cache/1234567890-1.2-123456789CACHE_FILE1234'
vovsh Aug 29 09:49:39 SYMLINK: path '/remote/projects/sync_cache/1234567890-1.2-123456789CACHE_FILE1234' is in CACHE_DIR