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

[PATCH 07/11] tree-diff: simplify tree_entry_pathcmp

From
Kirill Smelkov <kirr@mns.spb.ru>
Date
Feb 7, 2014, 17:48 UTC
Message-ID
<9186fb9d2c223241923111d4fd9b5360e474957e.1391794688.git.kirr@mns.spb.ru>
In-Reply-To
<cover.1391794688.git.kirr@mns.spb.ru>

Since 74aa4a18 (Finally switch over tree descriptors to contain a pre-parsed entry) we can safely access all tree_desc->entry fields directly instead of first "extracting" them through tree_entry_extract.

Use it. The code generated stays the same - only it now visually looks cleaner.

Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
---
 tree-diff.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/tree-diff.c b/tree-diff.c
index 604dc57..330ca07 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -15,18 +15,13 @@
  */
 static int tree_entry_pathcmp(struct tree_desc *t1, struct tree_desc *t2)
 {
-	unsigned mode1, mode2;
-	const char *path1, *path2;
-	const unsigned char *sha1, *sha2;
-	int cmp, pathlen1, pathlen2;
+	struct name_entry *e1, *e2;
+	int cmp;
 
-	sha1 = tree_entry_extract(t1, &path1, &mode1);
-	sha2 = tree_entry_extract(t2, &path2, &mode2);
-
-	pathlen1 = tree_entry_len(&t1->entry);
-	pathlen2 = tree_entry_len(&t2->entry);
-
-	cmp = base_name_compare(path1, pathlen1, mode1, path2, pathlen2, mode2);
+	e1 = &t1->entry;
+	e2 = &t2->entry;
+	cmp = base_name_compare(e1->path, tree_entry_len(e1), e1->mode,
+				e2->path, tree_entry_len(e2), e2->mode);
 	return cmp;
 }
 
-- 
1.9.rc1.181.g641f458
Previous: Kirill SmelkovNext: Kirill Smelkov
Message 10 of 21 in “More preparatory work for multiparent tree-walker”
  1. 00/11 More preparatory work for multiparent tree-walkerKirill Smelkov, Feb 7, 2014
  2. 01/11 tree-diff: show_tree() is not neededKirill Smelkov, Feb 7, 2014
  3. 02/11 tree-diff: consolidate code for emitting diffs and recursion in one placeKirill Smelkov, Feb 7, 2014
  4. Junio C HamanoFeb 13, 2014
  5. Kirill SmelkovFeb 13, 2014
  6. 03/11 tree-diff: don't assume compare_tree_entry() returns -1,0,1Kirill Smelkov, Feb 7, 2014
  7. 04/11 tree-diff: move all action-taking code out of compare_tree_entry()Kirill Smelkov, Feb 7, 2014
  8. 05/11 tree-diff: rename compare_tree_entry -> tree_entry_pathcmpKirill Smelkov, Feb 7, 2014
  9. 06/11 tree-diff: show_path prototype is not needed anymoreKirill Smelkov, Feb 7, 2014
  10. 07/11 tree-diff: simplify tree_entry_pathcmpKirill Smelkov, Feb 7, 2014
  11. 08/11 tree-diff: remove special-case diff-emitting code for empty-tree casesKirill Smelkov, Feb 7, 2014
  12. 09/11 tree-diff: rework diff_tree interface to be sha1 basedKirill Smelkov, Feb 7, 2014
  13. 10/11 tree-diff: no need to call "full" diff_tree_sha1 from show_path()Kirill Smelkov, Feb 7, 2014
  14. 11/11 tree-diff: reuse base str(buf) memory on sub-tree recursionKirill Smelkov, Feb 7, 2014
  15. Kirill SmelkovFeb 13, 2014
  16. Junio C HamanoFeb 11, 2014
  17. Kirill SmelkovFeb 11, 2014
  18. Junio C HamanoFeb 11, 2014
  19. Kirill SmelkovFeb 12, 2014
  20. Junio C HamanoFeb 12, 2014
  21. Kirill SmelkovFeb 13, 2014

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.