Re: [PATCH/WIP 4/7] fast-import: fix data corruption in store_tree
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jul 28, 2011, 07:42 UTC
- Message-ID
- <20110728074239.GA5980@elie>
- In-Reply-To
- <1311828370-30477-5-git-send-email-divanorama@gmail.com>
Dmitry Ivankov wrote:
Show 13 quoted lines
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -1474,8 +1474,11 @@ static void store_tree(struct tree_entry *root)
> return;
>
> for (i = 0; i < t->entry_count; i++) {
> - if (t->entries[i]->tree)
> - store_tree(t->entries[i]);
> + if (!S_ISDIR(t->entries[i]->versions[1].mode))
> + continue;
> + if (!t->entries[i]->tree)
> + load_tree(t->entries[i]);
> + store_tree(t->entries[i]);How can this load_tree call work if t->entries[i]->versions[1].sha1 is not already in the object database?