FREEZE - maintain a file containing many compressed files.

Syntax:

Format 1:
  freeze Update=frzfile [name<infile]* [option]*
Format 2:
  freeze frzfile [INclude=infile[,infile]*] [option]*
(+|-)Clear (-)          (+|-)Table (-)
Delete=name[,name]*
Print=name[,name]*
Extract=freezename[>path][,freezename[>path]]*
Rename=oldname,newname

Examples:

free /frosty p=snow
free u=/frozen d=oldy
free u=/wizards rn=id,oz e=oz>/wondrous/wizards
free u=newfile +c shorty</a.long.name +t
free /frz_stuff in=/hacks,/notes in=frodo/elfmaids +c

Options:

Update=frzfile
identifies a freeze file. If the freeze file does not exist, it will only be created if the "+Clear" option is specified. Unpredictable errors will result if the specified file is not a proper freeze file.
frzfile
is an alternate way to specify a freeze file.
INclude=infile[,infile]*
lists a number of files to be put into the freeze files. If any of these input files have the same name as an element that is already in the freeze file, the new input will replace the old contents of the element. Input files whose names do not match existing elements in the freeze file will be appended to the freeze file as new elements. The "INclude=" option may be used with command line Format 1 if desired.
name<infile
puts the contents of "infile" into the freeze file under the given "name". If "name" already exists in the freeze file, the contents of "infile" will replace the old contents of "name". If "name" does not already exist, the contents of "infile" will be appended to the freeze file under the given "name".
+Clear
initializes a freeze file by clearing it. "+Clear" is required when creating a new freeze file.
Delete=name[,name]*
deletes the named element(s) from the freeze file. An error is issued if the freeze file does not contain elements of the given name(s).
Extract=name[>pathname][,name[>pathname]]*
unfreezes an element and puts it into the file with the given pathname. If no pathname is given, FREEZE creates a temporary file with the same name as the element being extracted.
Print=name[,name]*
unfreezes the given file and prints it to the standard output (i.e. the terminal unless redirected with a ">file" construct).
Rename=oldname,newname
renames an element. "oldname" must be the name of some element in the freeze file.
+Table
produces a verbose listing of the contents of the freeze file.

If FREEZE is called with no options or input files, a terse list of the contents is given.

Description:

The FREEZE command is used to maintain freeze files. Freeze files are similar in some ways to subcatalogs in the file system. The major advantages of freeze files over subcatalogs are:

The major disadvantage is that the files cannot be accessed easily by programs; the files must be unfrozen before they can be accessed. A classic example of a good use for freeze files is storing the source code for a user library or an h* file.

Files are normally frozen under the last name in their pathname; for example, "jsmith/cat/myfile" would be frozen into an element named "myfile". To freeze a file under a different name, use the construct

element<pathname

on a command line using Format 1. A ";" may be used in place of the "<".

Elements in a freeze file are normally unfrozen into temporary files which have the same name as the element. For example, "ex=source" on the command line would extract the contents of the element "source" and put the unfrozen result into a temporary file named "source". To unfreeze an element into a file with a different pathname, use

ex=element>pathname

A ":" may be used in place of the ">".

The names of elements in a freeze file must be eight characters long or less. If no element name is given and the input file name is longer than eight characters, the element name will be the file name truncated to eight characters.

Options may appear in any order on the command line, but they are processed in a particular order. Clearing is done first, then any deleting and renaming (in the order they appear), then updating (freezing new files), then printing and extracting, and finally outputting the table. For example, you cannot append a new file and then delete it in the same command call.

The message

FREEZE: 'file' is no longer a freeze file

means that you have deleted every file in a freeze file, and that the next attempt to use that file as a freeze file will fail unless the "+Clear" option is used.

Known Bugs:

Files Used:

fc*fz - temporary freeze file image

Copyright © 1996, Thinkage Ltd.