From: Karthik Nayak <karthik.188@gmail.com>
To: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>, git@vger.kernel.org
Cc: ps@pks.im
Subject: Re: [GSoC RFC PATCH 3/5] repo-info: add the field references.format
Date: Wed, 11 Jun 2025 07:59:32 -0500	[thread overview]
Message-ID: <CAOLa=ZTNpSKoFcfQHDOQNhq-jdFJvGEsXm-rYKrHCZG8CfaqaQ@mail.gmail.com> (raw)
In-Reply-To: <20250610152117.14826-4-lucasseikioshiro@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 8118 bytes --]
Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> writes:
> Add the field references.format to the repo-info command. The data
> retrieved in this field is the same that currently is obtained by
> running `git rev-parse --show-ref-format`.
>
> Mentored-by: Karthik Nayak <karthik.188@gmail.com>
> Mentored-by Patrick Steinhardt <ps@pks.im>
> Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
> ---
>  builtin/repo-info.c  | 97 +++++++++++++++++++++++++++++++++++++++++---
>  t/t1518-repo-info.sh | 20 +++++++++
>  2 files changed, 112 insertions(+), 5 deletions(-)
>
> diff --git a/builtin/repo-info.c b/builtin/repo-info.c
> index 4d539a17fb..a1c9d3942e 100644
> --- a/builtin/repo-info.c
> +++ b/builtin/repo-info.c
> @@ -9,18 +9,40 @@ enum output_format {
>  	FORMAT_JSON
>  };
>
> +enum repo_info_category {
> +	CATEGORY_REFERENCES = 1
> +};
> +
> +enum repo_info_references_field {
> +	FIELD_REFERENCES_FORMAT = 1
> +};
> +
> +struct repo_info_field {
> +	enum repo_info_category category;
> +	union {
> +		enum repo_info_references_field references;
> +	} field;
> +};
> +
>  struct repo_info {
>  	struct repository *repo;
>  	enum output_format format;
> +	int n_fields;
> +	struct repo_info_field *fields;
> +};
> +
> +const char *default_fields[] = {
> +	"references.format",
>  };
>
>  static void repo_info_init(struct repo_info *repo_info,
>  			   struct repository *repo,
>  			   char *format,
> -			   int allow_empty UNUSED,
> -			   int argc UNUSED,
> -			   const char **argv UNUSED
> +			   int allow_empty,
> +			   int argc,
> +			   const char **argv
>  			   ) {
>
Nit: we wrap to 80 chars generally, so you can put multiple arguments on
the same line.
> +	int i;
>  	repo_info->repo = repo;
>
>  	if (format == NULL || !strcmp(format, "json"))
> @@ -29,18 +51,82 @@ static void repo_info_init(struct repo_info *repo_info,
>  		repo_info->format = FORMAT_PLAINTEXT;
>  	else
>  		die("invalid format %s", format);
> +
> +	if (argc == 0 && !allow_empty) {
> +		argc = ARRAY_SIZE(default_fields);
> +		argv = default_fields;
> +	}
> +
> +	repo_info->n_fields = argc;
> +	repo_info->fields = xmalloc(argc * sizeof(struct repo_info_field));
> +
Nit: perhaps use ALLOC_ARRAY or family here?
> +	for (i = 0; i < argc; i++) {
> +		const char *arg = argv[i];
> +		struct repo_info_field *field = repo_info->fields + i;
> +
> +		if (!strcmp(arg, "references.format")) {
> +			field->category = CATEGORY_REFERENCES;
> +			field->field.references = FIELD_REFERENCES_FORMAT;
> +		}
Makes me wonder if the default fields can be defined as an array of
'repo_info_field' and avoid the strcmp since the information is
pre-defined. Perhaps something like:
  diff --git a/builtin/repo-info.c b/builtin/repo-info.c
  index a1c9d3942e..81c7b5f896 100644
  --- a/builtin/repo-info.c
  +++ b/builtin/repo-info.c
  @@ -31,8 +31,13 @@ struct repo_info {
   	struct repo_info_field *fields;
   };
  -const char *default_fields[] = {
  -	"references.format",
  +const struct repo_info_field default_fields[] = {
  +	{
  +		.category = CATEGORY_REFERENCES,
  +		.field = {
  +			.references = FIELD_REFERENCES_FORMAT
  +		},
  +	},
   };
   static void repo_info_init(struct repo_info *repo_info,
  @@ -53,8 +58,8 @@ static void repo_info_init(struct repo_info *repo_info,
   		die("invalid format %s", format);
   	if (argc == 0 && !allow_empty) {
  -		argc = ARRAY_SIZE(default_fields);
  -		argv = default_fields;
  +		repo_info->fields = (struct repo_info_field *)&default_fields;
  +		return;
   	}
   	repo_info->n_fields = argc;
> +		else {
> +			die("invalid field '%s'", arg);
> +		}
> +	}
> +}
> +
> +static void repo_info_release(struct repo_info *repo_info) {
> +	free(repo_info->fields);
>  }
>
> -static void repo_info_print_plaintext(struct repo_info *repo_info UNUSED) {
> +static void repo_info_print_plaintext(struct repo_info *repo_info) {
This should definitely go into its own commit or at least be mentioned in
the commit message.
> +	struct repository *repo = repo_info->repo;
> +	int i;
Nit: always nice to leave a newline between the variable declarations
and following code. Also we can move move `int i` declaration directly
inside the loop.
> +	for (i = 0; i < repo_info->n_fields; i++) {
> +		struct repo_info_field *field = &repo_info->fields[i];
> +		switch (field->category) {
> +		case CATEGORY_REFERENCES:
> +			switch (field->field.references) {
> +			case FIELD_REFERENCES_FORMAT:
> +				puts(ref_storage_format_to_name(
> +					repo->ref_storage_format));
> +				break;
> +			}
> +			break;
> +		}
> +	}
>  }
>
> -static void repo_info_print_json(struct repo_info *repo_info UNUSED)
> +static void repo_info_print_json(struct repo_info *repo_info)
>  {
>  	struct json_writer jw;
> +	int i;
> +	unsigned int categories = 0;
> +	unsigned int references_fields = 0;
> +	struct repository *repo = repo_info->repo;
> +
> +	for (i = 0; i < repo_info->n_fields; i++) {
> +		struct repo_info_field *field = repo_info->fields + i;
> +		categories |= field->category;
> +		switch (field->category) {
> +		case CATEGORY_REFERENCES:
> +			references_fields |= field->field.references;
> +			break;
> +		}
> +	}
>
>  	jw_init(&jw);
>
>  	jw_object_begin(&jw, 1);
> +
> +	if (categories & CATEGORY_REFERENCES) {
> +		jw_object_inline_begin_object(&jw, "references");
> +		if (references_fields & FIELD_REFERENCES_FORMAT) {
> +			const char *format_name = ref_storage_format_to_name(
> +				repo->ref_storage_format);
> +			jw_object_string(&jw, "format", format_name);
> +		}
> +		jw_end(&jw);
> +	}
>  	jw_end(&jw);
>
Doesn't this mean that each value of CATEGORY_REFERENCES and
FIELD_REFERENCES_FORMAT should have no common bits? Especially in the
former across different categories too.
I wonder if we can solve this in a easier way. We care about:
- Retaining the order of fields input by the user
- Having a default set of fields if no input received
But, for JSON formatting, order of fields doesn't matter as per the spec
[1]:
  An object is an unordered set of name/value pairs. An object begins
  with {left brace and ends with }right brace. Each name is followed by
  :colon and the name/value pairs are separated by ,comma.
So, do we really want to keep the order? Especially since one suggestion
is to only work with the JSON format for now.
If we don't care about the order, we can simply have a structure with
bit fields and work with that.
>  	puts(jw.json.buf);
> @@ -92,6 +178,7 @@ int cmd_repo_info(
>  			     PARSE_OPT_KEEP_UNKNOWN_OPT);
>  	repo_info_init(&repo_info, repo, format, allow_empty, argc, argv);
>  	repo_info_print(&repo_info);
> +	repo_info_release(&repo_info);
>
>  	return 0;
>  }
> diff --git a/t/t1518-repo-info.sh b/t/t1518-repo-info.sh
> index 2e1a6f0c34..a99198b0f6 100755
> --- a/t/t1518-repo-info.sh
> +++ b/t/t1518-repo-info.sh
> @@ -6,6 +6,8 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
>
>  . ./test-lib.sh
>
> +DEFAULT_NUMBER_OF_FIELDS=1
> +
>  parse_json () {
>  	tr '\n' ' ' | "$PERL_PATH" "$TEST_DIRECTORY/t0019/parse_json.perl"
>  }
> @@ -46,4 +48,22 @@ test_expect_success 'plaintext: returns empty output with allow-empty' '
>  	test_line_count = 0 output
>  '
>
> +test_repo_info 'ref format files is retrieved correctly' \
> +	'' \
> +	'references.format' 'files'
> +
This expects that the repository is created with the 'files' backend by
default, but that is defined by the 'GIT_TEST_DEFAULT_REF_FORMAT' env
variable. So wouldn't this fail when in the CI job for reftables?
> +test_repo_info 'ref format reftable is retrieved correctly' \
> +	'--ref-format=reftable' \
> +	'references.format' 'reftable'
> +
> +test_expect_success 'plaintext: output all default fields' "
> +	git repo-info --format=plaintext >actual &&
> +	test_line_count = $DEFAULT_NUMBER_OF_FIELDS actual
> +"
> +
> +test_expect_success 'json: output all default fields' "
> +	git repo-info --format=json | parse_json | grep '.*\..*\..*' >actual &&
> +	test_line_count = $DEFAULT_NUMBER_OF_FIELDS actual
> +"
> +
While line count is good, we should also check the default values, no?
>  test_done
> --
> 2.39.5 (Apple Git-154)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]
next prev parent reply	other threads:[~2025-06-11 12:59 UTC|newest]
Thread overview: 226+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-10 15:21 [GSoC RFC PATCH 0/5] repo-info: add new command for retrieving repository info Lucas Seiki Oshiro
2025-06-10 15:21 ` [GSoC RFC PATCH 1/5] repo-info: declare the repo-info command Lucas Seiki Oshiro
2025-06-11  8:59   ` Karthik Nayak
2025-06-10 15:21 ` [GSoC RFC PATCH 2/5] repo-info: add the --format flag Lucas Seiki Oshiro
2025-06-11  9:30   ` Karthik Nayak
2025-06-12 17:56     ` Lucas Seiki Oshiro
2025-06-13  7:31       ` Karthik Nayak
2025-06-10 15:21 ` [GSoC RFC PATCH 3/5] repo-info: add the field references.format Lucas Seiki Oshiro
2025-06-11 12:59   ` Karthik Nayak [this message]
2025-06-12 15:01     ` Junio C Hamano
2025-06-10 15:21 ` [GSoC RFC PATCH 4/5] repo-info: add field layout.bare Lucas Seiki Oshiro
2025-06-11 13:13   ` Karthik Nayak
2025-06-12 19:39     ` Lucas Seiki Oshiro
2025-06-12 19:53       ` Junio C Hamano
2025-06-10 15:21 ` [GSoC RFC PATCH 5/5] repo-info: add field layout.shallow Lucas Seiki Oshiro
2025-06-10 16:39 ` [GSoC RFC PATCH 0/5] repo-info: add new command for retrieving repository info Kristoffer Haugsbakk
2025-06-10 16:40 ` Junio C Hamano
2025-06-12 20:25   ` Lucas Seiki Oshiro
2025-06-12 21:01     ` Junio C Hamano
2025-06-16 22:19       ` Lucas Seiki Oshiro
2025-06-16 22:40         ` Junio C Hamano
2025-06-19  1:44           ` Lucas Seiki Oshiro
2025-06-11 13:17 ` Karthik Nayak
2025-06-19 22:57 ` [GSoC RFC PATCH v2 0/7] " Lucas Seiki Oshiro
2025-06-19 22:57   ` [GSoC RFC PATCH v2 1/7] repo-info: declare the repo-info command Lucas Seiki Oshiro
2025-06-20  7:36     ` Karthik Nayak
2025-06-20 23:55       ` Junio C Hamano
2025-06-23  9:19         ` Karthik Nayak
2025-06-23 19:04       ` Lucas Seiki Oshiro
2025-06-20  7:56     ` Karthik Nayak
2025-06-24 14:03     ` Phillip Wood
2025-07-03 11:31     ` Patrick Steinhardt
2025-07-04 21:40       ` Lucas Seiki Oshiro
2025-07-07  6:01         ` Patrick Steinhardt
2025-07-09 20:05           ` Justin Tobler
2025-06-19 22:57   ` [GSoC RFC PATCH v2 2/7] repo-info: add the --format flag Lucas Seiki Oshiro
2025-06-20  8:06     ` Karthik Nayak
2025-06-20 21:31     ` Junio C Hamano
2025-07-03 11:31     ` Patrick Steinhardt
2025-06-19 22:57   ` [GSoC RFC PATCH v2 3/7] repo-info: add plaintext as an output format Lucas Seiki Oshiro
2025-06-20 21:37     ` Junio C Hamano
2025-07-03 11:32     ` Patrick Steinhardt
2025-06-19 22:57   ` [GSoC RFC PATCH v2 4/7] repo-info: add the --allow-empty flag Lucas Seiki Oshiro
2025-06-20  9:54     ` Karthik Nayak
2025-06-23  2:39       ` Lucas Seiki Oshiro
2025-06-20 21:39     ` Junio C Hamano
2025-06-23  9:26       ` Karthik Nayak
2025-06-23 20:28         ` Lucas Seiki Oshiro
2025-06-19 22:57   ` [GSoC RFC PATCH v2 5/7] repo-info: add the field references.format Lucas Seiki Oshiro
2025-06-20 22:26     ` Junio C Hamano
2025-06-24 14:03     ` Phillip Wood
2025-06-24 15:25       ` Junio C Hamano
2025-06-25  8:40         ` Phillip Wood
2025-07-03 11:32     ` Patrick Steinhardt
2025-07-04 21:11       ` Lucas Seiki Oshiro
2025-06-19 22:57   ` [GSoC RFC PATCH v2 6/7] repo-info: add field layout.bare Lucas Seiki Oshiro
2025-07-03 11:32     ` Patrick Steinhardt
2025-07-03 14:14       ` Lucas Seiki Oshiro
2025-07-04  8:32         ` Phillip Wood
2025-06-19 22:57   ` [GSoC RFC PATCH v2 7/7] repo-info: add field layout.shallow Lucas Seiki Oshiro
2025-06-23 13:42   ` [GSoC RFC PATCH v2 0/7] repo-info: add new command for retrieving repository info Phillip Wood
2025-06-23 18:49     ` Lucas Seiki Oshiro
2025-06-24 13:03       ` Phillip Wood
2025-06-24 13:43         ` Junio C Hamano
2025-07-01 22:18         ` Lucas Seiki Oshiro
2025-07-02  9:10           ` phillip.wood123
2025-07-06 23:19 ` [GSoC RFC PATCH v3 0/5] " Lucas Seiki Oshiro
2025-07-06 23:19   ` [GSoC RFC PATCH v3 1/5] repo-info: declare the repo-info command Lucas Seiki Oshiro
2025-07-06 23:19   ` [GSoC RFC PATCH v3 2/5] repo-info: add the --format flag Lucas Seiki Oshiro
2025-07-06 23:19   ` [GSoC RFC PATCH v3 3/5] repo-info: add the field references.format Lucas Seiki Oshiro
2025-07-06 23:19   ` [GSoC RFC PATCH v3 4/5] repo-info: add field layout.bare Lucas Seiki Oshiro
2025-07-06 23:19   ` [GSoC RFC PATCH v3 5/5] repo-info: add field layout.shallow Lucas Seiki Oshiro
2025-07-08 10:11   ` [GSoC RFC PATCH v3 0/5] repo-info: add new command for retrieving repository info Phillip Wood
2025-07-08 19:27     ` Lucas Seiki Oshiro
2025-07-10 13:15       ` Phillip Wood
2025-07-11 17:13   ` Lucas Seiki Oshiro
2025-07-11 17:37     ` Justin Tobler
2025-07-14 23:52 ` [GSoC RFC PATCH v4 0/4] repo: " Lucas Seiki Oshiro
2025-07-14 23:52   ` [GSoC RFC PATCH v4 1/4] repo: declare the repo command Lucas Seiki Oshiro
2025-07-15 11:52     ` Karthik Nayak
2025-07-15 11:59     ` Patrick Steinhardt
2025-07-15 18:38       ` Justin Tobler
2025-07-20 19:51       ` Lucas Seiki Oshiro
2025-07-15 18:19     ` Justin Tobler
2025-07-14 23:52   ` [GSoC RFC PATCH v4 2/4] repo: add the field references.format Lucas Seiki Oshiro
2025-07-15 11:59     ` Patrick Steinhardt
2025-07-18 19:13       ` Lucas Seiki Oshiro
2025-07-15 12:23     ` Karthik Nayak
2025-07-15 19:15     ` Justin Tobler
2025-07-16  5:38       ` Patrick Steinhardt
2025-07-16 14:04         ` Justin Tobler
2025-07-17 13:03           ` Patrick Steinhardt
2025-07-17 16:06             ` Justin Tobler
2025-07-18 20:26               ` Lucas Seiki Oshiro
2025-07-21 14:41                 ` Justin Tobler
2025-07-14 23:52   ` [GSoC RFC PATCH v4 3/4] repo: add field layout.bare Lucas Seiki Oshiro
2025-07-14 23:52   ` [GSoC RFC PATCH v4 4/4] repo: add field layout.shallow Lucas Seiki Oshiro
2025-07-15 10:34   ` [GSoC RFC PATCH v4 0/4] repo: add new command for retrieving repository info Oswald Buddenhagen
2025-07-15 11:58     ` Patrick Steinhardt
2025-07-15 12:20       ` Oswald Buddenhagen
2025-07-15 19:36       ` Justin Tobler
2025-07-15 16:49     ` Junio C Hamano
2025-07-17 10:25       ` Oswald Buddenhagen
2025-07-17 10:42         ` Patrick Steinhardt
2025-07-16 20:20   ` Junio C Hamano
2025-07-16 20:33     ` Junio C Hamano
2025-07-21 22:05     ` Lucas Seiki Oshiro
2025-07-22  0:28 ` [GSoC PATCH v5 0/5] " Lucas Seiki Oshiro
2025-07-22  0:28   ` [GSoC PATCH v5 1/5] repo: declare the repo command Lucas Seiki Oshiro
2025-07-22  9:03     ` Karthik Nayak
2025-07-22 15:21       ` Junio C Hamano
2025-07-23 16:28         ` Lucas Seiki Oshiro
2025-07-23 17:48           ` Junio C Hamano
2025-07-24  6:22         ` Patrick Steinhardt
2025-07-24 16:06           ` Junio C Hamano
2025-07-25  5:10             ` Patrick Steinhardt
2025-07-26 21:54           ` Lucas Seiki Oshiro
2025-07-28 17:56             ` Junio C Hamano
2025-07-23 15:49       ` Lucas Seiki Oshiro
2025-07-23 20:03     ` Jean-Noël AVILA
2025-07-22  0:28   ` [GSoC PATCH v5 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-07-22  9:16     ` Karthik Nayak
2025-07-22 19:25     ` Justin Tobler
2025-07-23 14:53       ` Phillip Wood
2025-07-23 17:44         ` Lucas Seiki Oshiro
2025-07-23 18:26       ` Lucas Seiki Oshiro
2025-07-24  6:22     ` Patrick Steinhardt
2025-07-22  0:28   ` [GSoC PATCH v5 3/5] repo: add field layout.bare Lucas Seiki Oshiro
2025-07-22  0:28   ` [GSoC PATCH v5 4/5] repo: add field layout.shallow Lucas Seiki Oshiro
2025-07-22  0:28   ` [GSoC PATCH v5 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-07-22  9:26     ` Karthik Nayak
2025-07-24  6:22     ` Patrick Steinhardt
2025-07-27 17:51 ` [GSoC PATCH v5 0/5] repo: add new command for retrieving repository info Lucas Seiki Oshiro
2025-07-27 17:51   ` [GSoC PATCH v5 1/5] repo: declare the repo command Lucas Seiki Oshiro
2025-07-27 20:20     ` Eric Sunshine
2025-07-27 17:51   ` [GSoC PATCH v5 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-07-27 21:16     ` Eric Sunshine
2025-07-31 19:39       ` Lucas Seiki Oshiro
2025-07-29  9:35     ` Patrick Steinhardt
2025-07-31 19:49       ` Lucas Seiki Oshiro
2025-07-27 17:51   ` [GSoC PATCH v5 3/5] repo: add field layout.bare Lucas Seiki Oshiro
2025-07-27 17:51   ` [GSoC PATCH v5 4/5] repo: add field layout.shallow Lucas Seiki Oshiro
2025-07-27 21:45     ` Eric Sunshine
2025-07-27 17:51   ` [GSoC PATCH v5 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-07-27 22:02     ` Eric Sunshine
2025-07-29  0:15       ` Ben Knoble
2025-07-29  0:27         ` Eric Sunshine
2025-07-29  0:38           ` Ben Knoble
2025-07-29  0:39           ` Eric Sunshine
2025-07-31 23:01       ` Lucas Seiki Oshiro
2025-07-31 23:15     ` Lucas Seiki Oshiro
2025-07-27 20:11   ` [GSoC PATCH v5 0/5] repo: add new command for retrieving repository info Eric Sunshine
2025-07-29  9:35     ` Patrick Steinhardt
2025-07-30 15:26     ` Lucas Seiki Oshiro
2025-08-01 13:11 ` [GSoC PATCH v7 " Lucas Seiki Oshiro
2025-08-01 13:11   ` [GSoC PATCH v7 1/5] repo: declare the repo command Lucas Seiki Oshiro
2025-08-01 13:11   ` [GSoC PATCH v7 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-08-01 20:59     ` Eric Sunshine
2025-08-03 21:47       ` Lucas Seiki Oshiro
2025-08-01 13:11   ` [GSoC PATCH v7 3/5] repo: add the field layout.bare Lucas Seiki Oshiro
2025-08-01 21:21     ` Eric Sunshine
2025-08-03 22:54       ` Lucas Seiki Oshiro
2025-08-03 23:06         ` Eric Sunshine
2025-08-05 12:50     ` Patrick Steinhardt
2025-08-01 13:11   ` [GSoC PATCH v7 4/5] repo: add the field layout.shallow Lucas Seiki Oshiro
2025-08-05 12:50     ` Patrick Steinhardt
2025-08-01 13:11   ` [GSoC PATCH v7 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-08-01 19:25     ` Junio C Hamano
2025-08-01 20:27     ` Jean-Noël AVILA
2025-08-01 21:50     ` Eric Sunshine
2025-08-05 12:50     ` Patrick Steinhardt
2025-08-05 12:50   ` [GSoC PATCH v7 0/5] repo: add new command for retrieving repository info Patrick Steinhardt
2025-08-06 19:55 ` [GSoC PATCH v8 " Lucas Seiki Oshiro
2025-08-06 19:55   ` [GSoC PATCH v8 1/5] repo: declare the repo command Lucas Seiki Oshiro
2025-08-06 19:55   ` [GSoC PATCH v8 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-08-07  7:43     ` Karthik Nayak
2025-08-06 19:55   ` [GSoC PATCH v8 3/5] repo: add the field layout.bare Lucas Seiki Oshiro
2025-08-07  5:20     ` Patrick Steinhardt
2025-08-06 19:55   ` [GSoC PATCH v8 4/5] repo: add the field layout.shallow Lucas Seiki Oshiro
2025-08-06 19:55   ` [GSoC PATCH v8 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-08-07  5:20     ` Patrick Steinhardt
2025-08-07 15:44       ` Junio C Hamano
2025-08-06 22:38   ` [GSoC PATCH v8 0/5] repo: add new command for retrieving repository info Junio C Hamano
2025-08-07  7:48   ` Karthik Nayak
2025-08-07 15:02 ` [GSoC PATCH v9 " Lucas Seiki Oshiro
2025-08-07 15:02   ` [GSoC PATCH v9 1/5] repo: declare the repo command Lucas Seiki Oshiro
2025-08-07 15:02   ` [GSoC PATCH v9 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-08-11  5:12     ` Eric Sunshine
2025-08-11 14:41     ` Phillip Wood
2025-08-11 15:44       ` Junio C Hamano
2025-08-13 21:18       ` Lucas Seiki Oshiro
2025-08-13 21:46         ` Eric Sunshine
2025-08-13 22:24           ` Lucas Seiki Oshiro
2025-08-14 13:58           ` Phillip Wood
2025-08-07 15:02   ` [GSoC PATCH v9 3/5] repo: add the field layout.bare Lucas Seiki Oshiro
2025-08-11  5:21     ` Eric Sunshine
2025-08-14 18:22       ` Lucas Seiki Oshiro
2025-08-14 18:32         ` Eric Sunshine
2025-08-14 18:51           ` Junio C Hamano
2025-08-14 22:05             ` Eric Sunshine
2025-08-15  1:20               ` Junio C Hamano
2025-08-14 22:18             ` Lucas Seiki Oshiro
2025-08-14 23:41               ` Eric Sunshine
2025-08-07 15:02   ` [GSoC PATCH v9 4/5] repo: add the field layout.shallow Lucas Seiki Oshiro
2025-08-07 15:02   ` [GSoC PATCH v9 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-08-11  5:44     ` Eric Sunshine
2025-08-08  5:45   ` [GSoC PATCH v9 0/5] repo: add new command for retrieving repository info Patrick Steinhardt
2025-08-08 15:02     ` Junio C Hamano
2025-08-08  9:20   ` Karthik Nayak
2025-08-15 13:55 ` [GSoC PATCH v10 0/5] repo: declare the repo command Lucas Seiki Oshiro
2025-08-15 13:55   ` [GSoC PATCH v10 1/5] " Lucas Seiki Oshiro
2025-08-15 13:55   ` [GSoC PATCH v10 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-08-15 18:40     ` Junio C Hamano
2025-08-15 19:12       ` Lucas Seiki Oshiro
2025-08-15 13:55   ` [GSoC PATCH v10 3/5] repo: add the field layout.bare Lucas Seiki Oshiro
2025-08-15 13:55   ` [GSoC PATCH v10 4/5] repo: add the field layout.shallow Lucas Seiki Oshiro
2025-08-15 19:36     ` Junio C Hamano
2025-08-15 13:55   ` [GSoC PATCH v10 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-08-15 19:23     ` Junio C Hamano
2025-08-16 22:45 ` [GSoC PATCH v11 0/5] repo: declare the repo command Lucas Seiki Oshiro
2025-08-16 22:45   ` [GSoC PATCH v11 1/5] " Lucas Seiki Oshiro
2025-08-16 22:46   ` [GSoC PATCH v11 2/5] repo: add the field references.format Lucas Seiki Oshiro
2025-08-16 22:46   ` [GSoC PATCH v11 3/5] repo: add the field layout.bare Lucas Seiki Oshiro
2025-08-16 22:46   ` [GSoC PATCH v11 4/5] repo: add the field layout.shallow Lucas Seiki Oshiro
2025-08-16 22:46   ` [GSoC PATCH v11 5/5] repo: add the --format flag Lucas Seiki Oshiro
2025-08-17 16:21   ` [GSoC PATCH v11 0/5] repo: declare the repo command Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to='CAOLa=ZTNpSKoFcfQHDOQNhq-jdFJvGEsXm-rYKrHCZG8CfaqaQ@mail.gmail.com' \
    --to=karthik.188@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=lucasseikioshiro@gmail.com \
    --cc=ps@pks.im \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).