зеркало из https://github.com/microsoft/git.git
sha1_file: convert index_path 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:
Родитель
bebfecb94c
Коммит
98e019b067
|
@ -280,7 +280,7 @@ static int add_one_path(const struct cache_entry *old, const char *path, int len
|
|||
fill_stat_cache_info(ce, st);
|
||||
ce->ce_mode = ce_mode_from_stat(old, st->st_mode);
|
||||
|
||||
if (index_path(ce->oid.hash, path, st,
|
||||
if (index_path(&ce->oid, path, st,
|
||||
info_only ? 0 : HASH_WRITE_OBJECT)) {
|
||||
free(ce);
|
||||
return -1;
|
||||
|
|
2
cache.h
2
cache.h
|
@ -685,7 +685,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_path(unsigned char *sha1, const char *path, struct stat *st, unsigned flags);
|
||||
extern int index_path(struct object_id *oid, const char *path, struct stat *st, unsigned flags);
|
||||
|
||||
/*
|
||||
* Record to sd the data from st that we use to check whether a file
|
||||
|
|
2
diff.c
2
diff.c
|
@ -3246,7 +3246,7 @@ static void diff_fill_oid_info(struct diff_filespec *one)
|
|||
}
|
||||
if (lstat(one->path, &st) < 0)
|
||||
die_errno("stat '%s'", one->path);
|
||||
if (index_path(one->oid.hash, one->path, &st, 0))
|
||||
if (index_path(&one->oid, one->path, &st, 0))
|
||||
die("cannot hash %s", one->path);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -709,7 +709,7 @@ int notes_merge_commit(struct notes_merge_options *o,
|
|||
/* write file as blob, and add to partial_tree */
|
||||
if (stat(path.buf, &st))
|
||||
die_errno("Failed to stat '%s'", path.buf);
|
||||
if (index_path(blob_oid.hash, path.buf, &st, HASH_WRITE_OBJECT))
|
||||
if (index_path(&blob_oid, path.buf, &st, HASH_WRITE_OBJECT))
|
||||
die("Failed to write blob object from '%s'", path.buf);
|
||||
if (add_note(partial_tree, &obj_oid, &blob_oid, NULL))
|
||||
die("Failed to add resolved note '%s' to notes tree",
|
||||
|
|
|
@ -689,7 +689,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
|
|||
return 0;
|
||||
}
|
||||
if (!intent_only) {
|
||||
if (index_path(ce->oid.hash, path, st, HASH_WRITE_OBJECT)) {
|
||||
if (index_path(&ce->oid, path, st, HASH_WRITE_OBJECT)) {
|
||||
free(ce);
|
||||
return error("unable to index file %s", path);
|
||||
}
|
||||
|
|
10
sha1_file.c
10
sha1_file.c
|
@ -3686,7 +3686,7 @@ int index_fd(unsigned char *sha1, int fd, struct stat *st,
|
|||
return ret;
|
||||
}
|
||||
|
||||
int index_path(unsigned char *sha1, const char *path, struct stat *st, unsigned flags)
|
||||
int index_path(struct object_id *oid, const char *path, struct stat *st, unsigned flags)
|
||||
{
|
||||
int fd;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
@ -3696,7 +3696,7 @@ int index_path(unsigned char *sha1, const char *path, struct stat *st, unsigned
|
|||
fd = open(path, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return error_errno("open(\"%s\")", path);
|
||||
if (index_fd(sha1, fd, st, OBJ_BLOB, path, flags) < 0)
|
||||
if (index_fd(oid->hash, fd, st, OBJ_BLOB, path, flags) < 0)
|
||||
return error("%s: failed to insert into database",
|
||||
path);
|
||||
break;
|
||||
|
@ -3704,14 +3704,14 @@ int index_path(unsigned char *sha1, const char *path, struct stat *st, unsigned
|
|||
if (strbuf_readlink(&sb, path, st->st_size))
|
||||
return error_errno("readlink(\"%s\")", path);
|
||||
if (!(flags & HASH_WRITE_OBJECT))
|
||||
hash_sha1_file(sb.buf, sb.len, blob_type, sha1);
|
||||
else if (write_sha1_file(sb.buf, sb.len, blob_type, sha1))
|
||||
hash_sha1_file(sb.buf, sb.len, blob_type, oid->hash);
|
||||
else if (write_sha1_file(sb.buf, sb.len, blob_type, oid->hash))
|
||||
return error("%s: failed to insert into database",
|
||||
path);
|
||||
strbuf_release(&sb);
|
||||
break;
|
||||
case S_IFDIR:
|
||||
return resolve_gitlink_ref(path, "HEAD", sha1);
|
||||
return resolve_gitlink_ref(path, "HEAD", oid->hash);
|
||||
default:
|
||||
return error("%s: unsupported file type", path);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче