summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 971728c)
raw | patch | inline | side by side (parent: 971728c)
author | Jonathan Nieder <jrnieder@gmail.com> | |
Wed, 20 Oct 2010 20:25:58 +0000 (15:25 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 20 Oct 2010 21:35:58 +0000 (14:35 -0700) |
Commit 5edde51 (fast-import: filemodify after M 040000 <tree> ""
crashes, 2010-10-17) taught fast-import to load trees from the
object db as needed when it is time to access them.
But it went too far. In change_note_fanout(), an empty,
not-loaded tree is not meant to destroy notes, so calling
load_tree() at that point is exactly the wrong thing to do.
Kudos to Johan Herland for t9301, which caught this failure.
Reported-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
crashes, 2010-10-17) taught fast-import to load trees from the
object db as needed when it is time to access them.
But it went too far. In change_note_fanout(), an empty,
not-loaded tree is not meant to destroy notes, so calling
load_tree() at that point is exactly the wrong thing to do.
Kudos to Johan Herland for t9301, which caught this failure.
Reported-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fast-import.c | patch | blob | history |
diff --git a/fast-import.c b/fast-import.c
index cb947c10d7a6531f3f0de9a0afed013bb1809839..d881630b012db0c19760d5e362cf19490546bdc1 100644 (file)
--- a/fast-import.c
+++ b/fast-import.c
char *fullpath, unsigned int fullpath_len,
unsigned char fanout)
{
- struct tree_content *t;
+ struct tree_content *t = root->tree;
struct tree_entry *e, leaf;
unsigned int i, tmp_hex_sha1_len, tmp_fullpath_len;
uintmax_t num_notes = 0;
unsigned char sha1[20];
char realpath[60];
- if (!root->tree);
- load_tree(root);
- t = root->tree;
for (i = 0; t && i < t->entry_count; i++) {
e = t->entries[i];
tmp_hex_sha1_len = hex_sha1_len + e->name->str_len;