mirror of
https://github.com/git/git.git
synced 2026-01-10 10:13:33 +00:00
builtin/hash-object: convert to struct object_id
Signed-off-by: Patryk Obara <patryk.obara@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
b3622a4ee9
commit
eab8bf292b
@@ -16,7 +16,7 @@
|
|||||||
* needs to bypass the data conversion performed by, and the type
|
* needs to bypass the data conversion performed by, and the type
|
||||||
* limitation imposed by, index_fd() and its callees.
|
* limitation imposed by, index_fd() and its callees.
|
||||||
*/
|
*/
|
||||||
static int hash_literally(unsigned char *sha1, int fd, const char *type, unsigned flags)
|
static int hash_literally(struct object_id *oid, int fd, const char *type, unsigned flags)
|
||||||
{
|
{
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
int ret;
|
int ret;
|
||||||
@@ -24,7 +24,7 @@ static int hash_literally(unsigned char *sha1, int fd, const char *type, unsigne
|
|||||||
if (strbuf_read(&buf, fd, 4096) < 0)
|
if (strbuf_read(&buf, fd, 4096) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
else
|
else
|
||||||
ret = hash_sha1_file_literally(buf.buf, buf.len, type, sha1, flags);
|
ret = hash_sha1_file_literally(buf.buf, buf.len, type, oid->hash, flags);
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -33,16 +33,16 @@ static void hash_fd(int fd, const char *type, const char *path, unsigned flags,
|
|||||||
int literally)
|
int literally)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
|
|
||||||
if (fstat(fd, &st) < 0 ||
|
if (fstat(fd, &st) < 0 ||
|
||||||
(literally
|
(literally
|
||||||
? hash_literally(sha1, fd, type, flags)
|
? hash_literally(&oid, fd, type, flags)
|
||||||
: index_fd(sha1, fd, &st, type_from_string(type), path, flags)))
|
: index_fd(oid.hash, fd, &st, type_from_string(type), path, flags)))
|
||||||
die((flags & HASH_WRITE_OBJECT)
|
die((flags & HASH_WRITE_OBJECT)
|
||||||
? "Unable to add %s to database"
|
? "Unable to add %s to database"
|
||||||
: "Unable to hash %s", path);
|
: "Unable to hash %s", path);
|
||||||
printf("%s\n", sha1_to_hex(sha1));
|
printf("%s\n", oid_to_hex(&oid));
|
||||||
maybe_flush_or_die(stdout, "hash to stdout");
|
maybe_flush_or_die(stdout, "hash to stdout");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user