path: root/merge-recursive.c
diff options
authorJohannes Schindelin <>2006-07-27 17:14:17 (GMT)
committerJunio C Hamano <>2006-07-28 02:39:15 (GMT)
commit3058e9339f05379462b7e14d832d091cc3d9b2b9 (patch)
tree08fec6d0817c725fe63f77e6487db34791ee04d8 /merge-recursive.c
parentc1d20846f4a7112c44653dfe25411ccd19297790 (diff)
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 <>
Diffstat (limited to 'merge-recursive.c')
1 files changed, 4 insertions, 5 deletions
diff --git a/merge-recursive.c b/merge-recursive.c
index eda4fee..6a796f2 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