git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 1/8] decorate.c: compact table when growing

From
Kevin Bracey <kevin@bracey.fi>
Date
Apr 30, 2013, 17:26 UTC
Message-ID
<1367342788-7795-2-git-send-email-kevin@bracey.fi>
In-Reply-To
<1367342788-7795-1-git-send-email-kevin@bracey.fi>

When growing the table, take the opportunity to "compact" it by removing entries with NULL decoration.

Users may have "removed" decorations by passing NULL to insert_decoration. An object's table entry can't actually be removed during normal operation, as it would break the linear hash collision search. But we can remove NULL decoration entries when rebuilding the table.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
---
 decorate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/decorate.c b/decorate.c
index 2f8a63e..7cb5d29 100644
--- a/decorate.c
+++ b/decorate.c
@@ -49,7 +49,7 @@ static void grow_decoration(struct decoration *n)
 		const struct object *base = old_hash[i].base;
 		void *decoration = old_hash[i].decoration;
 
-		if (!base)
+		if (!decoration)
 			continue;
 		insert_decoration(n, base, decoration);
 	}
-- 
1.8.2.1.632.gd2b1879
Previous: Kevin BraceyNext: Kevin Bracey
Message 2 of 12 in “History traversal refinements”
  1. 0/8 History traversal refinementsKevin Bracey, Apr 30, 2013
  2. 1/8 decorate.c: compact table when growingKevin Bracey, Apr 30, 2013
  3. 2/8 t6019: test file dropped in -s ours mergeKevin Bracey, Apr 30, 2013
  4. 3/8 rev-list-options.txt: correct TREESAME for PKevin Bracey, Apr 30, 2013
  5. 4/8 revision.c: Make --full-history consider more mergesKevin Bracey, Apr 30, 2013
  6. 5/8 t6012: update test for tweaked full-history traversalKevin Bracey, Apr 30, 2013
  7. 6/8 simplify-merges: never remove all TREESAME parentsKevin Bracey, Apr 30, 2013
  8. 7/8 simplify-merges: drop merge from irrelevant side branchKevin Bracey, Apr 30, 2013
  9. Junio C HamanoApr 30, 2013
  10. 8/8 revision.c: discount UNINTERESTING parentsKevin Bracey, Apr 30, 2013
  11. Junio C HamanoApr 30, 2013
  12. Junio C HamanoApr 30, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.