Article View: comp.std.unix
Article #1069Re: tar vs. cpio
From: Marc W. Mengel
Date: Mon, 13 Jul 1987 18:30
Date: Mon, 13 Jul 1987 18:30
53 lines
2522 bytes
2522 bytes
From: mmengel@cuuxb.uucp (Marc W. Mengel)
In article <8440@ut-sally.UUCP>;
>I noted Marc Mengel's suggestion that tar write out the contents of a file
>when the last link to a file is encountered, rather than the first. This
>would be nice, but I don't see how it could be done in a way that is
>backward compatible with the current tar format.
Maybe I was too brief in my attempt at describing it... What you do
is make two recursive descents of the directory tree.
In the first recursive descent, you generate a table that looks like
file id # last place seen in recursive descent
123 foo/bar/baz
333 foo/baz/bleem
...
Each time you encounter a file in the recursive descent you either add it
to the list, if its file id # isn't there, or replace its pathname in
the second half of the table.
In the second recursive descent, you look up each file you see in the table,
(by file id #) and if its path-from-the-table matches the current path,
you write out the file on the archive, otherwise you mark the current
path as a link to path-from-the-table in the archive.
Since our two recursive descents of the file tree should be identical, we
should always have only the last reference to a given file with data, and
all earlier references to that file listed as links to the one later on
the archive.
(Of course we only need to put files in the table that have multiple
links...)
So I am asking that a notation be put in the tar archive format for a
link to another file in the archive, along with the requirement that
link-to-file-"foo" nodes in the archive must always precede file-"foo"
nodes.
[ If you want to make a proposal to the P1003.1 Working Group,
you need to supply actual wording for the standard. -mod ]
--
Marc Mengel
attmail!mmengel
or
...!{moss|lll-crg|mtune|ihnp4}!cuuxb!mmmengel
Volume-Number: Volume 11, Number 90
Technical Details
Message-ID:
<637@uunet.UU.NET>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!std-unixReferences:
<8440@ut-sally.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!std-unix From: mmengel@cuuxb.uucp (Marc W. Mengel) Newsgroups: comp.std.unix Subject: Re: tar vs. cpio Message-ID: <637@uunet.UU.NET> Date: Mon, 13-Jul-87 14:30:17 EDT Article-I.D.: uunet.637 Posted: Mon Jul 13 14:30:17 1987 Date-Received: Fri, 17-Jul-87 01:48:36 EDT References: <8440@ut-sally.UUCP> Sender: std-unix@uunet.UU.NET Reply-To: mmengel@cuuxb.uucp (Marc W. Mengel) Organization: AT&T-DSD, System Engineering for Resellers, Lisle IL Lines: 53 Approved: jsq@uunet (Moderator, John Quarterman)