threads / patch / 5022

patch, 6 partsmerge-recur: Explain why sha_eq() and struct stage_data cannot go

Subject: [PATCH 6/6] merge-recur: Explain why sha_eq() and struct stage_data cannot go

## tl;dr

One message between Jul 27, 2006 and Jul 27, 2006. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Johannes Schindelin· Jul 27, 2006, 17:14 UTC · lore

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>
---
 merge-recursive.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
Show changes to merge-recursive.c +4 −5
diff --git a/merge-recursive.c b/merge-recursive.c
index b0f2ecc..cb21bc5 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -47,8 +47,8 @@ static struct commit *make_virtual_commi
 }
 
 /*
- * 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
 }
 
 /*
- * 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
 {
-- 
1.4.2.rc2.g6a4e

← back to recent threads