| HTTPsync: Packing List Syntax
|
There are 4 types of lines in a packing list. The character at the start of each line determines the purpose and processing of each line.
Normally, packing lists are created by running httpsync -m (see below.) The type and purpose of each line is described here.
Character | Purpose |
---|---|
'#' | Denotes comments. There is a special comment sequence for specifying the file version required. |
'.' | This begins each relative URL/filename.
The file name can include subdirectories, but must not have any parent directory accesses ".." (Such lines will be rejected and cause program termination.) HTTPsync versions 2.00 and later support %-escaped characters (as hex values) in file names. This allows spaces in a file name, for example. Missing subdirectories are created automatically when storing files. After the filename, the length, time in GMT, and mode (3 octal digits) must appear. Do not specify directories with this type of line. If a directory is specified, then either a HTTP error will occur (or a directory listing will be stored in a file) where the directory is supposed to be. It is proper to specify obsolete subdirectories with the 'O' type of line. |
'O' | This specifies an obsolete file or directory, which will be removed. The name which follows the O must begin with '.' and have no parent directory accesses ("..") |
'R' | Replace the packing list URL provided on the command line for all remaining requests. This permits the URL on the command line to reference a cgi-bin with URL- encoded form values, but the subsequent requests will use the 'R' specified URL to generate requests. The 'R' line must be written as if specifying the name of a packing list, which will be stored in the current working directory. To generate request URLs, that file name is replaced withthe relative path names given in the packing list when Only one 'R' statement is processed in a packing list, and it must be the first non-comment statement. It must begin with '/' and may not have any host name. See the examples at HTTPsync Conditional and "Access Protected" Packing Lists |
httpsync @http://www.mibsoftware.com/httpsync/packing.lstwould store a packing list at "./packing.lst"
#-#httpsync 101 Packing List for httpsync 1.01 # Visit the httpsync home page: http://www.mibsoftware.com/httpsync/ R/httpsync/test/packing.lst ./zero.test 0 Tue, 05 May 1998 20:02:42 GMT 644 ./test.test 32 Tue, 05 May 1998 20:24:06 GMT 644 O./obsolete.test |
httpsync -m @temp.lst >packing.lstThe list of files can be created by hand, or by running
find . -type f(Note that if only "find" is used, there will not be any files marked as obsolete.) A list of obsolete files can be maintained by hand, but usually a shell script can be used to do it automatically. See HTTPsync: Obsolete File Removal