diff options
Diffstat (limited to 'archive.h')
-rw-r--r-- | archive.h | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -8,10 +8,12 @@ struct repository; struct archiver_args { struct repository *repo; + char *refname; + const char *prefix; const char *base; size_t baselen; struct tree *tree; - const unsigned char *commit_sha1; + const struct object_id *commit_oid; const struct commit *commit; timestamp_t time; struct pathspec pathspec; @@ -19,13 +21,14 @@ struct archiver_args { unsigned int worktree_attributes : 1; unsigned int convert : 1; int compression_level; + struct string_list extra_files; }; /* main api */ -extern int write_archive(int argc, const char **argv, const char *prefix, - struct repository *repo, - const char *name_hint, int remote); +int write_archive(int argc, const char **argv, const char *prefix, + struct repository *repo, + const char *name_hint, int remote); const char *archive_format_from_filename(const char *filename); @@ -33,27 +36,25 @@ const char *archive_format_from_filename(const char *filename); #define ARCHIVER_WANT_COMPRESSION_LEVELS 1 #define ARCHIVER_REMOTE 2 +#define ARCHIVER_HIGH_COMPRESSION_LEVELS 4 struct archiver { const char *name; int (*write_archive)(const struct archiver *, struct archiver_args *); unsigned flags; void *data; }; -extern void register_archiver(struct archiver *); +void register_archiver(struct archiver *); -extern void init_tar_archiver(void); -extern void init_zip_archiver(void); -extern void init_archivers(void); +void init_tar_archiver(void); +void init_zip_archiver(void); +void init_archivers(void); typedef int (*write_archive_entry_fn_t)(struct archiver_args *args, const struct object_id *oid, const char *path, size_t pathlen, - unsigned int mode); + unsigned int mode, + void *buffer, unsigned long size); -extern int write_archive_entries(struct archiver_args *args, write_archive_entry_fn_t write_entry); -extern void *object_file_to_archive(const struct archiver_args *args, - const char *path, const struct object_id *oid, - unsigned int mode, enum object_type *type, - unsigned long *sizep); +int write_archive_entries(struct archiver_args *args, write_archive_entry_fn_t write_entry); #endif /* ARCHIVE_H */ |