Hi Glyn,
If a cache file is missing for an object that has been previously archived, this means that a user must have performed a [i]ccm clean_cache[/i] command on it. That command verifies, before removing the cache file, that the same contents can be successfully retrieved from the archive.
The cache file represents the full source contents of a versioned file. All other attributes are stored in the underlying database, typically Informix. The cache file will be restored automatically from the archive when any of the following happen:
[ul][li]If you view the source through edit, view, ccm cat[/li][li]If you compare its source with diff or merge[/li][li]If a copy-based work area is updated (synced)[/li][/ul]So one way of ensuring that the cache file is present is to do something like:[code]ccm cat filespec > /dev/null[/code]
If you have a link-based work area, then it is possible that the [i]ccm clean_cache[/i] command will remove from the cache a file that is linked to from a work area if you use the [i]-u[/i] option. That is not the default behavior.
I do not know what you mean by "cache value". Could you give an example of what you mean?
In general, scripts that assume that the cache file will contain the object they want are likely to be fragile. Any use of ccm clean_cache is likely to break it. Instead, using ccm cat to copy the file somewhere else would be more robust. It also deals correctly with any required end-of-line conversion for the client on which the command is executed.
Regards,
David.