From 3058e9339f05379462b7e14d832d091cc3d9b2b9 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 27 Jul 2006 19:14:17 +0200 Subject: 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 --- merge-recursive.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index eda4feea0f..6a796f24c7 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 { -- cgit v1.2.3