Code

merge-recur: Explain why sha_eq() and struct stage_data cannot go
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 27 Jul 2006 17:14:17 +0000 (19:14 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 28 Jul 2006 02:39:15 +0000 (19:39 -0700)
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 <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
merge-recursive.c

index eda4feea0fe8f5c8ca661f16f59b2a5398e23f61..6a796f24c7f3cdba2c6c2dc1c93bdfcd0c5c2ea1 100644 (file)
@@ -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
 {