kientzle
655e07d67c
Make -C and -T work correctly together.
...
MFC after: 3 days
Thanks to: Guy Helmer
2004-08-28 05:28:19 +00:00
kientzle
0a68c3721e
Better low-memory handling: If the link cache runs out of memory, just
...
throw out the whole thing and stop tracking links entirely. That will
break all remaining hardlinks, but should free up enough memory to
let everything finish.
2004-08-08 06:36:03 +00:00
kientzle
03cc09682b
Move the smart chdir logic into a couple of utility functions in util.c.
...
Then use them to provide consistent -C support throughout the program.
Thanks to: Christoph Mallon
2004-08-08 05:50:10 +00:00
kientzle
0457e08c65
Add --totals option. Unlike gtar, this reports the bytes actually
...
written to the archive, not the ones written to the compressor.
For uncompressed archives, these numbers are the same, of course.
2004-08-07 19:25:34 +00:00
kientzle
a34feb1b97
Add "make distfile" capabilities to bsdtar, including informational
...
COPYING file and some conditional compilation cleanups.
2004-08-07 03:24:49 +00:00
kientzle
c2fb7a1b2d
A bunch of style and security fixes (error checking return values, etc),
...
mostly from: Tim J Robbins
2004-07-25 04:15:50 +00:00
kientzle
4eaecd41f3
A bunch of stuff from Christoph Mellon:
...
* Whitespace fixes
* Check some malloc calls
* Simplify long_help formatting
* Spell "LINUX" -> "linux"
* A few other miscellaneous style improvements
2004-07-24 22:13:44 +00:00
kientzle
34ed55636f
Warn about stripping leading '/' when creating archives.
2004-06-27 18:32:14 +00:00
kientzle
2e75ccba07
Augment the -T handling:
...
* Add --null option (sort #defines here)
* Add process_lines function to util.c that reads newline-terminated
or null-terminated lines (with self-sizing buffers, etc) and iteratively
invokes a provided function. Use this to dramatically simplify:
-T handling for -c, --exclude-from-file, and --include-from-file.
* Add -T handling to -x (via include_from_file)
Hopefully, this will fix the openoffice port and a couple of
others that rely on -T and --null.
2004-06-27 06:29:03 +00:00
kientzle
6d1f3e3cef
Fix "@-" which has apparently been broken for some time. <sigh>
...
While I'm here, add in a lot more error-checking around append_archive.
2004-06-27 03:28:13 +00:00
kientzle
4731df16a2
Don't abort immediately on directory change errors.
...
Instead, display a warning, clean up, and let main() return the error.
In particular, this means that chdir() problems won't leave broken
archives, though they will prompt an error exit value.
2004-06-27 01:08:54 +00:00
kientzle
b217b2ee33
Rename C=dir to -C dir, which is what people expect.
...
This requires some non-trivial surgery to the options parsing.
While here, let people who only have getopt() access long options
through the -W longopt=value convention.
2004-06-26 22:49:51 +00:00
kientzle
6404643ce9
Set program exit value to 1 if there are any of various errors when
...
creating an archive.
Pointed out by: Failure to complain when building certain broken packages
(Thanks again to Kris Kennaway for finding this!)
2004-06-07 07:19:04 +00:00
kientzle
270635f958
Ooops! Previous commit added an over-zealous error check.
...
It is, in fact, perfectly legal to not specify a compression when
writing an archive. <sigh>
2004-06-07 03:38:17 +00:00
kientzle
eadec7015b
If -b is specified, then force full padding for the last block.
2004-06-07 03:19:57 +00:00
kientzle
299fedaaae
Per style(9), don't use double spaces in expressions.
...
Pointed out by: njl, des.
2004-06-07 03:16:18 +00:00
kientzle
2ccbdbb7fe
Fix a segfault when looking up a non-existent group.
2004-05-18 23:40:25 +00:00
kientzle
75a7f5bd6e
Set errno to 0 before calling getpwuid/getgrgid, so that error
...
messages will be displayed only when there is, in fact, an error.
2004-05-17 18:29:12 +00:00
kientzle
7ac80717ef
Propagate struct bsdtar down into a lot more places.
...
Move global progname variable into struct bsdtar.
2004-05-17 05:44:53 +00:00
kientzle
7590026eae
Refactor name caching to use a common piece of code for uname_cache and
...
gname_cache. Cache negative lookups to dramatically improve performance
building archives containing nonexistent uid/gid.
2004-05-17 05:02:39 +00:00
kientzle
79697f7186
Correct copy/paste error in Linux nodump support.
...
Thanks to: Juergen Lock for his continuing patience
while I botch his patches.
2004-05-03 16:56:42 +00:00
kientzle
490330a22a
Style: Use single tab after #define
2004-05-02 22:58:18 +00:00
kientzle
a33004e479
More of Juergen Lock's patches for Linux.
...
(fflags support on Linux, nanosecond timestamp portability, enable
64-bit file offsets)
2004-05-02 18:10:35 +00:00
kientzle
06760f99a1
Update write.c to follow recent API changes to libarchive.
...
Also, bump up the default copy buffer from 8k to 64k
to improve performance.
2004-04-26 23:39:17 +00:00
kientzle
fe93d4f02e
Fix username/groupname cache so it returns a name that
...
was just looked up by get{pw,gr}id(). Otherwise, it
returns a NULL name unless it's already in the cache.
Credit to Juergen Lock.
2004-04-23 16:33:51 +00:00
kientzle
15ca1ccb2d
Eliminate a redundant call to archive_entry_set_pathname()
2004-04-21 05:16:28 +00:00
kientzle
2b19543d6c
As suggested by Julian Elischer, use a self-sizing hash
...
table for the hardlink cache. This dramatically improves
performance when archiving millions of hardlinked files.
While I'm here, clean up some style bugs (per Bruce Evans)
and clarify some comments.
2004-04-15 22:37:54 +00:00
kientzle
58455f9e3f
A simple cache of uid->uname lookups and gid->gname lookups eliminates
...
almost 1/2 of the CPU time required to create an uncompressed archive
and makes a noticable reduction in wallclock time.
2004-04-14 00:40:54 +00:00
kientzle
2d6a22a91d
When all the links to a file have been dumped, don't forget
...
to free() the memory used to store the filename.
2004-04-13 23:50:48 +00:00
kientzle
cd3b6fa4ac
Add DPADD to Makefile (thanks to Andrey for pointing this out).
...
Generally clean up Makefile, remove dmalloc references from source
(there are better ways to do this than pollute the FreeBSD src tree).
2004-04-12 00:13:23 +00:00
kientzle
1b8aab3f61
Add support for -T option on create.
...
(Required by pkg_create.)
2004-04-08 06:12:01 +00:00
kientzle
a970bab144
Correct signature in alternative stub implementation of setup_acls()
2004-04-07 17:43:48 +00:00
kientzle
a356af4fc7
Archive both access and default ACLs.
2004-04-06 23:08:31 +00:00
kientzle
2588e5ad7a
Initial commit for bsdtar.
2004-04-05 21:32:18 +00:00