archive: convert sha1_file_to_archive to struct object_id

Convert this function to take a pointer to struct object_id and rename
it object_file_to_archive.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson 2018-03-12 02:27:36 +00:00 коммит произвёл Junio C Hamano
Родитель 015ff4f822
Коммит e5ec981a4b
4 изменённых файлов: 12 добавлений и 12 удалений

Просмотреть файл

@ -281,7 +281,7 @@ static int write_tar_entry(struct archiver_args *args,
buffer = NULL;
else if (S_ISLNK(mode) || S_ISREG(mode)) {
enum object_type type;
buffer = sha1_file_to_archive(args, path, oid->hash, old_mode, &type, &size);
buffer = object_file_to_archive(args, path, oid, old_mode, &type, &size);
if (!buffer)
return error("cannot read %s", oid_to_hex(oid));
} else {

Просмотреть файл

@ -344,8 +344,8 @@ static int write_zip_entry(struct archiver_args *args,
flags |= ZIP_STREAM;
out = buffer = NULL;
} else {
buffer = sha1_file_to_archive(args, path, oid->hash, mode,
&type, &size);
buffer = object_file_to_archive(args, path, oid, mode,
&type, &size);
if (!buffer)
return error("cannot read %s",
oid_to_hex(oid));

Просмотреть файл

@ -63,16 +63,16 @@ static void format_subst(const struct commit *commit,
free(to_free);
}
void *sha1_file_to_archive(const struct archiver_args *args,
const char *path, const unsigned char *sha1,
unsigned int mode, enum object_type *type,
unsigned long *sizep)
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)
{
void *buffer;
const struct commit *commit = args->convert ? args->commit : NULL;
path += args->baselen;
buffer = read_sha1_file(sha1, type, sizep);
buffer = read_sha1_file(oid->hash, type, sizep);
if (buffer && S_ISREG(mode)) {
struct strbuf buf = STRBUF_INIT;
size_t size = 0;

Просмотреть файл

@ -39,9 +39,9 @@ extern int write_archive_entries(struct archiver_args *args, write_archive_entry
extern int write_archive(int argc, const char **argv, const char *prefix, const char *name_hint, int remote);
const char *archive_format_from_filename(const char *filename);
extern void *sha1_file_to_archive(const struct archiver_args *args,
const char *path, const unsigned char *sha1,
unsigned int mode, enum object_type *type,
unsigned long *sizep);
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);
#endif /* ARCHIVE_H */