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

Re: [PATCH 12/12] Optimize diff-tree -[CM] --stdin

From
YYYoichi Yuasa <yuasa@hh.iij4u.or.jp>
Date
Jun 4, 2005, 02:17 UTC
Message-ID
<20050604111755.50a34338.yuasa@hh.iij4u.or.jp>
In-Reply-To
<7vhdgo2s7t.fsf_-_@assigned-by-dhcp.cox.net>
Hi,

On Fri, 27 May 2005 15:56:38 -0700 Junio C Hamano <junkio@cox.net> wrote:

>
<snip>
Show 33 quoted lines
> diff --git a/diff.c b/diff.c
> --- a/diff.c
> +++ b/diff.c
> @@ -12,6 +12,7 @@ static const char *diff_opts = "-pu";
>  static unsigned char null_sha1[20] = { 0, };
>  
>  static int reverse_diff;
> +static int use_size_cache;
>  
>  static const char *external_diff(void)
>  {
> @@ -222,12 +223,60 @@ static int work_tree_matches(const char 
>  	return 1;
>  }
>  
> +static struct sha1_size_cache {
> +	unsigned char sha1[20];
> +	unsigned long size;
> +} **sha1_size_cache;
> +static int sha1_size_cache_nr, sha1_size_cache_alloc;
> +
> +static struct sha1_size_cache *locate_size_cache(unsigned char *sha1,
> +						 unsigned long size)
> +{
> +	int first, last;
> +	struct sha1_size_cache *e;
> +
> +	first = 0;
> +	last = sha1_size_cache_nr;
> +	while (last > first) {
> +		int next = (last + first) >> 1;
> +		e = sha1_size_cache[next];
> +		int cmp = memcmp(e->sha1, sha1, 20);

I got build error in diff.c Please apply the following patch.

Thanks,
Yoichi
Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
diff --git a/diff.c b/diff.c
--- a/diff.c
+++ b/diff.c
@@ -244,9 +244,9 @@ static struct sha1_size_cache *locate_si
 	first = 0;
 	last = sha1_size_cache_nr;
 	while (last > first) {
-		int next = (last + first) >> 1;
+		int cmp, next = (last + first) >> 1;
 		e = sha1_size_cache[next];
-		int cmp = memcmp(e->sha1, sha1, 20);
+		cmp = memcmp(e->sha1, sha1, 20);
 		if (!cmp)
 			return e;
 		if (cmp < 0) {
Previous: Junio C HamanoNext: Junio C Hamano
Message 21 of 45 in “Broken directory pathname pruning..”
  1. Linus TorvaldsMay 27, 2005
  2. Junio C HamanoMay 27, 2005
  3. allow pathspec to end with a slashJunio C Hamano, May 27, 2005
  4. allow pathspec to end with a slash (take #2)Junio C Hamano, May 27, 2005
  5. Diff updates, fixing pathspec and rename/copy interaction.Junio C Hamano, May 27, 2005
  6. Linus TorvaldsMay 27, 2005
  7. Junio C HamanoMay 27, 2005
  8. 00/12 Diff updatesJunio C Hamano, May 27, 2005
  9. 01/12 Fix math thinko in similarity estimator.Junio C Hamano, May 27, 2005
  10. 02/12 Introduce diff_free_filepair() funcion.Junio C Hamano, May 27, 2005
  11. 03/12 Make pathspec only care about the detination tree.Junio C Hamano, May 27, 2005
  12. 04/12 Remove unused rank field from diff_core structure.Junio C Hamano, May 27, 2005
  13. 05/12 Do not expose internal scaling to diff-helper.Junio C Hamano, May 27, 2005
  14. 06/12 Remove final newline from the value of xfrm_msg variable.Junio C Hamano, May 27, 2005
  15. 07/12 Clean up diff_setup() to make it more extensible.Junio C Hamano, May 27, 2005
  16. 08/12 Remove a function not used anymore.Junio C Hamano, May 27, 2005
  17. 09/12 Add --pickaxe-all to diff-* brothers.Junio C Hamano, May 27, 2005
  18. 10/12 Fix the way diffcore-rename records unremoved source.Junio C Hamano, May 27, 2005
  19. 11/12 Move pathspec to the beginning of the diffcore chain.Junio C Hamano, May 27, 2005
  20. 12/12 Optimize diff-tree -[CM] --stdinJunio C Hamano, May 27, 2005
  21. Yoichi YuasaJun 4, 2005
  22. Junio C HamanoMay 27, 2005
  23. Do not show empty diff in diff-cache uncached.Junio C Hamano, May 28, 2005
  24. Diff: two fixes.Junio C Hamano, May 28, 2005
  25. diff-helper: fix R/C score parsing under -z flag.Junio C Hamano, May 29, 2005
  26. diff-cache: diff-patch (-p) format fixes.Junio C Hamano, May 29, 2005
  27. diff: code clean-up.Junio C Hamano, May 29, 2005
  28. Linus TorvaldsMay 29, 2005
  29. Junio C HamanoMay 29, 2005
  30. Junio C HamanoMay 29, 2005
  31. 0/3 Leftover bits after 12-seriesJunio C Hamano, May 29, 2005
  32. 1/3 diff-helper: Fix R/C score parsing under -z flag.Junio C Hamano, May 29, 2005
  33. 2/3 diff: consolidate various calls into diffcore.Junio C Hamano, May 29, 2005
  34. 3/3 diff: code clean-up and removal of rename hack.Junio C Hamano, May 29, 2005
  35. 0/4 Junio C Hamano, May 30, 2005
  36. 1/4 diff: further cleanup.Junio C Hamano, May 30, 2005
  37. 2/4 diff: fix the culling of unneeded delete record.Junio C Hamano, May 30, 2005
  38. 3/4 Add -B flag to diff-* brothers.Junio C Hamano, May 30, 2005
  39. 4/4 Add -O<orderfile> option to diff-* brothers.Junio C Hamano, May 30, 2005
  40. Linus TorvaldsMay 30, 2005
  41. Junio C HamanoMay 30, 2005
  42. apply.c: tolerate diff from a dirty but unchanged pathJunio C Hamano, Jun 11, 2005
  43. Linus TorvaldsJun 12, 2005
  44. Linus TorvaldsJun 12, 2005
  45. Junio C HamanoJun 12, 2005

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.