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

[PATCH v3 0/2] repo: add --all to git-repo-info

From
Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
Date
Oct 26, 2025, 22:52 UTC
Message-ID
<20251026225409.46647-1-lucasseikioshiro@gmail.com>
In-Reply-To
<20250915223618.13093-1-lucasseikioshiro@gmail.com>
Hi!

This is the third version of the patchset that adds a new flag --all to git-repo-info for requesting the values of all the available flags.

Now, in this version, git-repo-info will abort if it is called with --all and some key.

Here's the range-diff against v2:
1:  5f72f07589 = 1:  0db9aad2bc repo: factor out field printing to dedicated function
2:  b8158bb7b8 ! 2:  b6ecdc2c2f repo: add --all to git-repo-info
    @@ Documentation/git-repo.adoc: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHAN
      The values are returned in the same order in which their respective keys were
     -requested.
     +requested. The `--all` flag requests the values for all the available keys.
    -+Keys requested after `--all` will be duplicated.
      +
      The output format can be chosen through the flag `--format`. Two formats are
      supported:
    @@ builtin/repo.c: static int print_fields(int argc, const char **argv,
     +
     +	for (unsigned long i = 0; i < ARRAY_SIZE(repo_info_fields); i++) {
     +		struct field field = repo_info_fields[i];
    -+		get_value_fn *get_value = field.get_value;
    -+		const char *key = field.key;
     +
     +		strbuf_reset(&valbuf);
    -+		get_value(repo, &valbuf);
    -+		print_field(format, key, &valbuf, &quotbuf);
    ++		field.get_value(repo, &valbuf);
    ++		print_field(format, field.key, &valbuf, &quotbuf);
     +	}
     +
     +	strbuf_release(&valbuf);
    @@ builtin/repo.c: static int repo_info(int argc, const char **argv, const char *pr
      
      	argc = parse_options(argc, argv, prefix, options, repo_usage, 0);
      
    -+	if (all_keys)
    ++	if (all_keys) {
    ++		if (argc)
    ++			die(_("--all and <key> cannot be used together"));
    ++
     +		print_all_fields(repo, format);
    ++		return 0;
    ++	}
     +
      	return print_fields(argc, argv, repo, format);
      }
    @@ t/t1900-repo.sh: test_expect_success 'git repo info uses the last requested form
     +	test_cmp expect actual
     +'
     +
    -+test_expect_success 'git repo info --all <key> duplicates <key>' '
    -+	git repo info $REPO_INFO_KEYS object.format >expect &&
    -+	git repo info --all object.format >actual &&
    ++test_expect_success 'git repo info --all <key> aborts' '
    ++	echo "fatal: --all and <key> cannot be used together" >expect &&
    ++	test_must_fail git repo info --all object.format 2>actual &&
     +	test_cmp expect actual
     +'
    -+
    -+test_expect_success 'git repo info --all <invalid key> warns about invalid key' '
    -+	git repo info $REPO_INFO_KEYS >expect &&
    -+	echo "error: key ${SQ}no.key${SQ} not found" >expect_err &&
    -+	test_must_fail git repo info --all no.key >actual 2>actual_err &&
    -+	test_cmp expect actual &&
    -+	test_cmp expect_err actual_err
    -+'
     +
      test_done
Lucas Seiki Oshiro (2):
  repo: factor out field printing to dedicated function
  repo: add --all to git-repo-info
 Documentation/git-repo.adoc |  6 ++--
 builtin/repo.c              | 63 ++++++++++++++++++++++++++++---------
 t/t1900-repo.sh             | 21 +++++++++++++
 3 files changed, 72 insertions(+), 18 deletions(-)
-- 
2.50.1 (Apple Git-155)
Previous: Patrick SteinhardtNext: Lucas Seiki Oshiro
Message 6 of 30 in “repo: add --all to git-repo-info”
  1. repo: add --all to git-repo-infoLucas Seiki Oshiro, Sep 15, 2025
  2. Junio C HamanoSep 15, 2025
  3. Patrick SteinhardtSep 16, 2025
  4. Junio C HamanoSep 16, 2025
  5. Patrick SteinhardtSep 17, 2025
  6. 0/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Oct 26, 2025
  7. 1/2 repo: factor out field printing to dedicated functionLucas Seiki Oshiro, Oct 26, 2025
  8. Eric SunshineOct 26, 2025
  9. Eric SunshineOct 26, 2025
  10. Junio C HamanoOct 27, 2025
  11. Eric SunshineOct 27, 2025
  12. 2/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Oct 26, 2025
  13. Eric SunshineOct 27, 2025
  14. Eric SunshineOct 27, 2025
  15. 0/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Nov 17, 2025
  16. 1/2 repo: factor out field printing to dedicated functionLucas Seiki Oshiro, Nov 17, 2025
  17. Junio C HamanoNov 17, 2025
  18. 2/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Nov 17, 2025
  19. Junio C HamanoNov 17, 2025
  20. Lucas Seiki OshiroNov 18, 2025
  21. Junio C HamanoNov 18, 2025
  22. Lucas Seiki OshiroNov 20, 2025
  23. Eric SunshineNov 19, 2025
  24. Junio C HamanoNov 19, 2025
  25. Junio C HamanoNov 17, 2025
  26. 0/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Nov 18, 2025
  27. 1/2 repo: factor out field printing to dedicated functionLucas Seiki Oshiro, Nov 18, 2025
  28. 2/2 repo: add --all to git-repo-infoLucas Seiki Oshiro, Nov 18, 2025
  29. Junio C HamanoNov 18, 2025
  30. Eric SunshineNov 19, 2025

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.