From: Johannes Schindelin Date: Thu, 27 Jul 2006 17:14:17 +0000 (+0200) Subject: merge-recur: Explain why sha_eq() and struct stage_data cannot go X-Git-Tag: v1.4.3-rc1~174^2~14 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=3058e9339f05379462b7e14d832d091cc3d9b2b9;p=git.git merge-recur: Explain why sha_eq() and struct stage_data cannot go There were two TODOs to remove sha_eq() and to convert users of struct stage_data to active_cache users, but this is not possible. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/merge-recursive.c b/merge-recursive.c index eda4feea0..6a796f24c 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -47,8 +47,8 @@ static struct commit *make_virtual_commit(struct tree *tree, const char *comment } /* - * TODO: we should not have to copy the SHA1s around, but rather reference - * them. That way, sha_eq() is just sha1 == sha2. + * Since we use get_tree_entry(), which does not put the read object into + * the object pool, we cannot rely on a == b. */ static int sha_eq(const unsigned char *a, const unsigned char *b) { @@ -58,9 +58,8 @@ static int sha_eq(const unsigned char *a, const unsigned char *b) } /* - * TODO: check if we can just reuse the active_cache structure: it is already - * sorted (by name, stage). - * Only problem: do not write it when flushing the cache. + * Since we want to write the index eventually, we cannot reuse the index + * for these (temporary) data. */ struct stage_data {