hard-code the empty tree object
Now any commands may reference the empty tree object by its sha1 (4b825dc642cb6eb9a060e54bf8d69288fbee4904). This is useful for showing some diffs, especially for initial commits. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
6c47d0e8f3
commit
346245a1bb
11
sha1_file.c
11
sha1_file.c
@ -1845,6 +1845,15 @@ static struct cached_object {
|
|||||||
} *cached_objects;
|
} *cached_objects;
|
||||||
static int cached_object_nr, cached_object_alloc;
|
static int cached_object_nr, cached_object_alloc;
|
||||||
|
|
||||||
|
static struct cached_object empty_tree = {
|
||||||
|
/* empty tree sha1: 4b825dc642cb6eb9a060e54bf8d69288fbee4904 */
|
||||||
|
"\x4b\x82\x5d\xc6\x42\xcb\x6e\xb9\xa0\x60"
|
||||||
|
"\xe5\x4b\xf8\xd6\x92\x88\xfb\xee\x49\x04",
|
||||||
|
OBJ_TREE,
|
||||||
|
"",
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
static struct cached_object *find_cached_object(const unsigned char *sha1)
|
static struct cached_object *find_cached_object(const unsigned char *sha1)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -1854,6 +1863,8 @@ static struct cached_object *find_cached_object(const unsigned char *sha1)
|
|||||||
if (!hashcmp(co->sha1, sha1))
|
if (!hashcmp(co->sha1, sha1))
|
||||||
return co;
|
return co;
|
||||||
}
|
}
|
||||||
|
if (!hashcmp(sha1, empty_tree.sha1))
|
||||||
|
return &empty_tree;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user