archive: centralize archive entry writing
commit562e25abea9f1f2d443053279c009a88d81a592b
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Mon, 14 Jul 2008 19:22:24 +0000 (14 21:22 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 15 Jul 2008 14:18:04 +0000 (15 07:18 -0700)
treed9c85fad9ac3f441f39a1644182b8711da63047e
parentd53fe8187c38a5a160ef2199a899d9c47ec881b9
archive: centralize archive entry writing

Add the exported function write_archive_entries() to archive.c, which uses
the new ability of read_tree_recursive() to pass a context pointer to its
callback in order to centralize previously duplicated code.

The new callback function write_archive_entry() does the work that every
archiver backend needs to do: loading file contents, entering subdirectories,
handling file attributes, constructing the full path of the entry.  All that
done, it calls the backend specific write_archive_entry_fn_t function.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive-tar.c
archive-zip.c
archive.c
archive.h