README

Fri, 19 Oct 2007 22:46:20 -0400

author
brett
date
Fri, 19 Oct 2007 22:46:20 -0400
branch
trunk
changeset 28
4d88f2231d33
parent 24
60056f3e3e60
child 37
c27c1073ec12
permissions
-rw-r--r--

[svn] Change all the license notices from GPLv2 to GPLv3.

Instead of checking the archive contents, figuring out what to do, and
doing it, instead we now always extract the archive to a private directory,
and then shuffle around the contents appropriately. I expected this to be
a bigger win than my benchmarks have borne out, but I'm sticking with this
strategy because it provides a cleaner separation of responsibilities
between the extractors and the archive type handlers, and also I have to
believe it's a much better way to handle bigger archives -- since we're now
reading it once and not twice.

19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
1 dtrx - Intelligent archive extraction
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
2 =====================================
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
3
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
4 Introduction
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
5 ------------
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
6
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
7 dtrx extracts archives in a number of different formats; it currently
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
8 supports tar, zip, cpio, rpm, and deb. It can also decompress files
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
9 compressed with gzip, bzip2, or compress.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
10
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
11 In addition to providing one command to handle many different archive
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
12 types, dtrx also aids the user by extracting contents consistently. By
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
13 default, everything will be written to a dedicated directory that's named
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
14 after the archive. dtrx will also change the permissions to ensure that the
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
15 owner can read and write all those files.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
16
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
17 Running dtrx
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
18 ------------
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
19
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
20 To run dtrx, simply call it with the archive(s) you wish to extract as
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
21 arguments. For example::
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
22
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
23 dtrx coreutils-5.*.tar.gz
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
24
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
25 dtrx supports a number of options to mandate specific behavior:
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
26
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
27 -r, --recursive
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
28 With this option, dtrx will search inside the archives you specify to see
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
29 if any of the contents are themselves archives, and extract those as
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
30 well.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
31
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
32 -o, --overwrite
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
33 Normally, dtrx will avoid extracting into a directory that already exists,
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
34 and instead try to find an alternative name to use. If this option is
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
35 listed, dtrx will use the default directory name no matter what.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
36
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
37 -f, --flat
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
38 Extract archive contents into the current directory, instead of their
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
39 own dedicated directory. This is handy if you have multiple archive
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
40 files which all need to be extracted into the same directory structure.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
41 Note that existing files may be overwritten with this option.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
42
24
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
43 -n, --noninteractive
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
44 dtrx will normally ask the user how to handle certain corner cases, such
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
45 as how to handle an archive that only contains one file. This option
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
46 suppresses those questions; dtrx will instead use sane defaults.
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
47
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
48 -l, -t, --list, --table
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
49 Don't extract the archives; just list their contents on standard output.
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
50
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
51 -q, --quiet
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
52 Suppress warning messages. Listing this option twice will cause the
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
53 dtrx to be silent if at all possible.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
54
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
55 -v, --verbose
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
56 Print more information about x's behavior. You can list this option up
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
57 to three times for more information.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
58
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
59 --help
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
60 Display basic help.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
61
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
62 --version
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
63 Display x's version, copyright, and license information.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
64
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
65 Other Useful Information
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
66 ------------------------
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
67
28
4d88f2231d33 [svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents: 24
diff changeset
68 dtrx 5.0 is copyright (c) 2006, 2007 `Brett Smith`_. Feel free to send
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
69 comments, bug reports, patches, and so on. You can find the latest version
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
70 of dtrx on `its home page`_.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
71
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
72 .. _`Brett Smith`: mailto:brettcsmith@brettcsmith.org
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
73 .. _`its home page`: http://www.brettcsmith.org/2006/x/
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
74
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
75 dtrx is free software; you can redistribute it and/or modify it under the
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
76 terms of the GNU General Public License as published by the Free Software
28
4d88f2231d33 [svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents: 24
diff changeset
77 Foundation; either version 3 of the License, or (at your option) any later
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
78 version.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
79
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
80 This program is distributed in the hope that it will be useful, but WITHOUT
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
81 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
82 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
83 more details.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
84
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
85 You should have received a copy of the GNU General Public License along
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
86 with this program; if not, write to the Free Software Foundation, Inc., 51
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
87 Franklin Street, 5th Floor, Boston, MA, 02111.

mercurial