update usage message

This commit is contained in:
David Rose 2002-08-07 22:30:18 +00:00
parent 4b63b56461
commit af97bce709
1 changed files with 88 additions and 10 deletions

View File

@ -43,20 +43,101 @@ bool got_chdir_to = false;
size_t scale_factor = 0; // -F
pset<string> dont_compress; // -Z
// Default extensions not to compress. May be overridden with -Z.
string dont_compress_str = "jpg,mp3";
void
usage() {
cerr << "Usage: multify -[c|r|t|x] -f <multifile_name> [options] <subfile_name> ...\n";
cerr <<
"Usage: multify -[c|r|t|x] -f <multifile_name> [options] <subfile_name> ...\n";
}
void
help() {
cerr << "multify is used to store and extract files from a Panda Multifile.\n"
<< "This is similar to a tar or zip file in that it is an archive file that\n"
<< "contains a number of subfiles that may later be extracted.\n\n"
<< "The command-line options for multify are designed to be similar to those\n"
<< "for tar, the traditional Unix archiver utility.\n\n";
usage();
cerr << "\n"
"multify is used to store and extract files from a Panda Multifile.\n"
"This is similar to a tar or zip file in that it is an archive file that\n"
"contains a number of subfiles that may later be extracted.\n\n"
"Panda's VirtualFileSystem is capable of mounting Multifiles for direct\n"
"access to the subfiles contained within without having to extract them\n"
"out to independent files first.\n\n"
"The command-line options for multify are designed to be similar to those\n"
"for tar, the traditional Unix archiver utility.\n\n"
"Options:\n\n"
" You must specify exactly one of the following command switches:\n\n"
" -c\n"
" Create a new Multifile archive. Subfiles named on the command line\n"
" will be added to the new Multifile. If the Multifile already exists,\n"
" it is first removed.\n\n"
" -r\n"
" Rewrite an existing Multifile archive. Subfiles named on the command\n"
" line will be added to the Multifile or will replace subfiles within\n"
" the Multifile with the same name. The Multifile will be repacked\n"
" after completion, even if no Subfiles were added.\n\n"
" -t\n"
" List the contents of an existing Multifile. With -v, this shows\n"
" the size of each Subfile and its compression ratio, if compressed.\n\n"
" -x\n"
" Extract the contents of an existing Multifile. The Subfiles named on\n"
" the command line, or all Subfiles if nothing is named, are extracted\n"
" into the current directory or into whichever directory is specified\n"
" with -C.\n\n\n"
" You must always specify the following switch:\n\n"
" -f <multifile_name>\n"
" Names the Multifile that will be operated on.\n\n\n"
" The remaining switches are optional:\n\n"
" -v\n"
" Run verbosely. In -c, -r, or -x mode, list each file as it is\n"
" written or extracted. In -t mode, list more information about each\n"
" file.\n\n"
" -z\n"
" Compress subfiles as they are written to the Multifile. Unlike tar\n"
" (but like zip), subfiles are compressed individually, instead of the\n"
" entire archive being compressed as one stream. It is not necessary\n"
" to specify -z when extracting compressed subfiles; they will always be\n"
" decompressed automatically. Also see -Z, which restricts which\n"
" subfiles will be compressed based on the filename extension.\n\n"
" -F <scale_factor>\n"
" Specify a Multifile scale factor. This is only necessary to support\n"
" Multifiles that will exceed 4GB in size. The default scale factor is\n"
" 1, which should be sufficient for almost any application, but the total\n"
" size of the Multifile will be limited to 4GB * scale_factor. The size\n"
" of individual subfiles may not exceed 4GB in any case.\n\n"
" -C <extract_dir>\n"
" With -x, change to the named directory before extracting files;\n"
" that is, extract subfiles into the named directory.\n\n"
" -O\n"
" With -x, extract subfiles to standard output instead of to disk.\n\n"
" -Z <extension_list>\n"
" Specify a comma-separated list of filename extensions that represent\n"
" files that are not to be compressed. The default if this is omitted is\n"
" \"" << dont_compress_str << "\". Specify -Z \"\" (be sure to include the space) to allow\n"
" all files to be compressed.\n\n"
" -1 .. -9\n"
" Specify the compression level when -z is in effect. Larger numbers\n"
" generate slightly smaller files, but compression takes longer. The\n"
" default is -" << default_compression_level << ".\n\n";
}
bool
@ -320,9 +401,6 @@ main(int argc, char *argv[]) {
}
}
// Default extensions not to compress. May be overridden with -Z.
string dont_compress_str = "jpg,mp3";
extern char *optarg;
extern int optind;
static const char *optflags = "crtxvz123456789Z:f:OC:F:h";