зеркало из https://github.com/microsoft/git.git
sha1_file: convert index_fd to struct object_id
Convert all remaining callers as well. Signed-off-by: Patryk Obara <patryk.obara@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
98e019b067
Коммит
e3506559d4
|
@ -111,7 +111,7 @@ static int use_wt_file(const char *workdir, const char *name,
|
|||
int fd = open(buf.buf, O_RDONLY);
|
||||
|
||||
if (fd >= 0 &&
|
||||
!index_fd(wt_oid.hash, fd, &st, OBJ_BLOB, name, 0)) {
|
||||
!index_fd(&wt_oid, fd, &st, OBJ_BLOB, name, 0)) {
|
||||
if (is_null_oid(oid)) {
|
||||
oidcpy(oid, &wt_oid);
|
||||
use = 1;
|
||||
|
|
|
@ -38,7 +38,7 @@ static void hash_fd(int fd, const char *type, const char *path, unsigned flags,
|
|||
if (fstat(fd, &st) < 0 ||
|
||||
(literally
|
||||
? hash_literally(&oid, fd, type, flags)
|
||||
: index_fd(oid.hash, fd, &st, type_from_string(type), path, flags)))
|
||||
: index_fd(&oid, fd, &st, type_from_string(type), path, flags)))
|
||||
die((flags & HASH_WRITE_OBJECT)
|
||||
? "Unable to add %s to database"
|
||||
: "Unable to hash %s", path);
|
||||
|
|
|
@ -269,7 +269,7 @@ static void import_object(struct object_id *oid, enum object_type type,
|
|||
|
||||
if (fstat(fd, &st) < 0)
|
||||
die_errno("unable to fstat %s", filename);
|
||||
if (index_fd(oid->hash, fd, &st, type, NULL, flags) < 0)
|
||||
if (index_fd(oid, fd, &st, type, NULL, flags) < 0)
|
||||
die("unable to write object to database");
|
||||
/* index_fd close()s fd for us */
|
||||
}
|
||||
|
|
2
cache.h
2
cache.h
|
@ -684,7 +684,7 @@ extern int ie_modified(const struct index_state *, const struct cache_entry *, s
|
|||
|
||||
#define HASH_WRITE_OBJECT 1
|
||||
#define HASH_FORMAT_CHECK 2
|
||||
extern int index_fd(unsigned char *sha1, int fd, struct stat *st, enum object_type type, const char *path, unsigned flags);
|
||||
extern int index_fd(struct object_id *oid, int fd, struct stat *st, enum object_type type, const char *path, unsigned flags);
|
||||
extern int index_path(struct object_id *oid, const char *path, struct stat *st, unsigned flags);
|
||||
|
||||
/*
|
||||
|
|
|
@ -161,7 +161,7 @@ static int ce_compare_data(const struct cache_entry *ce, struct stat *st)
|
|||
|
||||
if (fd >= 0) {
|
||||
struct object_id oid;
|
||||
if (!index_fd(oid.hash, fd, st, OBJ_BLOB, ce->name, 0))
|
||||
if (!index_fd(&oid, fd, st, OBJ_BLOB, ce->name, 0))
|
||||
match = oidcmp(&oid, &ce->oid);
|
||||
/* index_fd() closed the file descriptor already */
|
||||
}
|
||||
|
|
12
sha1_file.c
12
sha1_file.c
|
@ -3662,7 +3662,7 @@ static int index_stream(unsigned char *sha1, int fd, size_t size,
|
|||
return index_bulk_checkin(sha1, fd, size, type, path, flags);
|
||||
}
|
||||
|
||||
int index_fd(unsigned char *sha1, int fd, struct stat *st,
|
||||
int index_fd(struct object_id *oid, int fd, struct stat *st,
|
||||
enum object_type type, const char *path, unsigned flags)
|
||||
{
|
||||
int ret;
|
||||
|
@ -3672,15 +3672,15 @@ int index_fd(unsigned char *sha1, int fd, struct stat *st,
|
|||
* die() for large files.
|
||||
*/
|
||||
if (type == OBJ_BLOB && path && would_convert_to_git_filter_fd(path))
|
||||
ret = index_stream_convert_blob(sha1, fd, path, flags);
|
||||
ret = index_stream_convert_blob(oid->hash, fd, path, flags);
|
||||
else if (!S_ISREG(st->st_mode))
|
||||
ret = index_pipe(sha1, fd, type, path, flags);
|
||||
ret = index_pipe(oid->hash, fd, type, path, flags);
|
||||
else if (st->st_size <= big_file_threshold || type != OBJ_BLOB ||
|
||||
(path && would_convert_to_git(&the_index, path)))
|
||||
ret = index_core(sha1, fd, xsize_t(st->st_size), type, path,
|
||||
ret = index_core(oid->hash, fd, xsize_t(st->st_size), type, path,
|
||||
flags);
|
||||
else
|
||||
ret = index_stream(sha1, fd, xsize_t(st->st_size), type, path,
|
||||
ret = index_stream(oid->hash, fd, xsize_t(st->st_size), type, path,
|
||||
flags);
|
||||
close(fd);
|
||||
return ret;
|
||||
|
@ -3696,7 +3696,7 @@ int index_path(struct object_id *oid, const char *path, struct stat *st, unsigne
|
|||
fd = open(path, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return error_errno("open(\"%s\")", path);
|
||||
if (index_fd(oid->hash, fd, st, OBJ_BLOB, path, flags) < 0)
|
||||
if (index_fd(oid, fd, st, OBJ_BLOB, path, flags) < 0)
|
||||
return error("%s: failed to insert into database",
|
||||
path);
|
||||
break;
|
||||
|
|
Загрузка…
Ссылка в новой задаче