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

Re: [RFC PATCH 6/6] ls-tree: introduce '--pattern' option

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 17, 2022, 14:03 UTC
Message-ID
<221117.867cztisk0.gmgdl@evledraar.gmail.com>
In-Reply-To
<20221117113023.65865-7-tenglong.tl@alibaba-inc.com>
On Thu, Nov 17 2022, Teng Long wrote:
Show 9 quoted lines
> diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
> index 03dd3fbcb26..576fc9ad16f 100644
> --- a/builtin/ls-tree.c
> +++ b/builtin/ls-tree.c
> @@ -13,6 +13,7 @@
>  #include "builtin.h"
>  #include "parse-options.h"
>  #include "pathspec.h"
> +#include <stdio.h>

Aside from anything else I've mentionded (e.g. overall goals), don't include "<>" headers in anything except git-compat-util.h and similar.

In this case we don't need this at all, but if we did it should be added there...

Show 5 quoted lines
> [...]
>  	}
> -	ret = regexec(&r, line, 1, m, 0);
> +
> +	ret = regexec(regex, line, 1, m, 0);
Some whitespace-churn after the last commit...
Show 5 quoted lines
>  static void show_tree_common_default_long(struct show_tree_data *data)
>  {
>  	int base_len = data->base->len;
> +	struct strbuf sb = STRBUF_INIT;
> +	int sb_len = 0;

It's size_t, not int, so if you need to keep track of a strbuf's length use the type of its "len".

This would be better named "oldlen" or something...
> +		printf("%s", sb.buf);
puts(sb.buf) instead;
> +	if (pattern && !strlen(pattern))
pattern && !*pattern is more idiomatic IMO.
> +test_expect_success 'combine with "--object-only"' '
> +	cat > expect <<-EOF &&
Style: No " " after ">"
> +		6da7993
Style: Let's avoid \t\t indenting for here-docs, just use the indenting
of the "cat".
Previous: Teng LongNext: Johannes Schindelin
Message 11 of 34 in “ls-tree: introduce '--pattern' option”
  1. 0/6 ls-tree: introduce '--pattern' optionTeng Long, Nov 17, 2022
  2. 1/6 ls-tree: cleanup the redundant SPACETeng Long, Nov 17, 2022
  3. 2/6 t3104: remove shift code in 'test_ls_tree_format'Teng Long, Nov 17, 2022
  4. 3/6 ls-tree: optimize params of 'show_tree_common_default_long()'Teng Long, Nov 17, 2022
  5. 4/6 ls-tree: improving cohension in the print codeTeng Long, Nov 17, 2022
  6. Ævar Arnfjörð BjarmasonNov 17, 2022
  7. 5/6 ls-tree: introduce 'match_pattern()' functionTeng Long, Nov 17, 2022
  8. Ævar Arnfjörð BjarmasonNov 17, 2022
  9. Ævar Arnfjörð BjarmasonNov 30, 2022
  10. 6/6 ls-tree: introduce '--pattern' optionTeng Long, Nov 17, 2022
  11. Ævar Arnfjörð BjarmasonNov 17, 2022
  12. Johannes SchindelinDec 12, 2022
  13. Junio C HamanoDec 12, 2022
  14. Junio C HamanoDec 14, 2022
  15. Ævar Arnfjörð BjarmasonDec 14, 2022
  16. Junio C HamanoDec 14, 2022
  17. win-test: unknown terminal "xterm-256color", was Re: [RFC PATCH 6/6] ls-tree: introduce '--pattern' optionJohannes Schindelin, Mar 27, 2023
  18. Junio C HamanoMar 27, 2023
  19. Jeff KingMar 28, 2023
  20. Junio C HamanoMar 28, 2023
  21. Jeff KingMar 28, 2023
  22. Jeff KingMar 28, 2023
  23. Junio C HamanoMar 28, 2023
  24. Ævar Arnfjörð BjarmasonNov 17, 2022
  25. Taylor BlauNov 17, 2022
  26. Teng LongNov 21, 2022
  27. Ævar Arnfjörð BjarmasonNov 21, 2022
  28. 0/4 ls-tree: pass state in struct, not globalsÆvar Arnfjörð Bjarmason, Nov 17, 2022
  29. 1/4 ls-tree: don't use "show_tree_data" for "fast" callbacksÆvar Arnfjörð Bjarmason, Nov 17, 2022
  30. 1/4 ls-tree: don't use "show_tree_data" for "fast" callbacksTeng Long, Dec 21, 2022
  31. 3/4 ls-tree: fold "show_tree_data" into "cb" structÆvar Arnfjörð Bjarmason, Nov 17, 2022
  32. 2/4 ls-tree: use a "struct options"Ævar Arnfjörð Bjarmason, Nov 17, 2022
  33. 4/4 ls-tree: make "line_termination" less genericÆvar Arnfjörð Bjarmason, Nov 17, 2022
  34. 0/4 ls-tree: pass state in struct, not globalsTeng Long, Nov 21, 2022

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.