git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Teng Long <dyroneteng@gmail.com>
To: dyroneteng@gmail.com
Cc: Johannes.Schindelin@gmx.de, avarab@gmail.com,
	congdanhqx@gmail.com, git@vger.kernel.org, gitster@pobox.com,
	martin.agren@gmail.com, peff@peff.net,
	tenglong.tl@alibaba-inc.com
Subject: [PATCH v13 00/16] ls-tree: "--object-only" and "--format" opts
Date: Mon, 21 Mar 2022 15:33:14 +0800	[thread overview]
Message-ID: <cover.1647846935.git.dyroneteng@gmail.com> (raw)
In-Reply-To: <cover.1646390152.git.dyroneteng@gmail.com>

Diff from v12:

Current patch is based by the review patch of Ævar Arnfjörð Bjarmason in [1].

In terms of the review commits, I replied Ævar Arnfjörð Bjarmason [2] and listed the
actions, therefore this v13 patch was implemented by these actions.  

Links:

1. https://public-inbox.org/git/cover-0.7-00000000000-20220310T134811Z-avarab@gmail.com/
2. https://public-inbox.org/git/20220317095129.86790-1-dyroneteng@gmail.com/

Thanks.

Johannes Schindelin (1):
  cocci: allow padding with `strbuf_addf()`

Teng Long (5):
  ls-tree: rename "retval" to "recurse" in "show_tree()"
  ls-tree: simplify nesting if/else logic in "show_tree()"
  ls-tree: fix "--name-only" and "--long" combined use bug
  ls-tree: slightly refactor `show_tree()`
  ls-tree: support --object-only option for "git-ls-tree"

Ævar Arnfjörð Bjarmason (10):
  ls-tree: remove commented-out code
  ls-tree: add missing braces to "else" arms
  ls-tree: use "enum object_type", not {blob,tree,commit}_type
  ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
  ls-tree: introduce struct "show_tree_data"
  ls-tree: introduce "--format" option
  ls-tree tests: add tests for --name-status
  ls-tree: detect and error on --name-only --name-status
  ls-tree: remove FIELD_*, just use MODE_*
  ls-tree: split up "fast path" callbacks

 Documentation/git-ls-tree.txt   |  68 +++++-
 builtin/ls-tree.c               | 367 ++++++++++++++++++++++++++------
 contrib/coccinelle/strbuf.cocci |   6 +-
 t/t3101-ls-tree-dirname.sh      |  55 ++---
 t/t3103-ls-tree-misc.sh         |  15 ++
 t/t3104-ls-tree-format.sh       |  76 +++++++
 6 files changed, 493 insertions(+), 94 deletions(-)
 create mode 100755 t/t3104-ls-tree-format.sh

Range-diff against v12:
 -:  ---------- >  1:  2fcff7e0d4 ls-tree: remove commented-out code
 -:  ---------- >  2:  6fd1dd9383 ls-tree: add missing braces to "else" arms
 -:  ---------- >  3:  208654b5e2 ls-tree: use "enum object_type", not {blob,tree,commit}_type
 -:  ---------- >  4:  2637464fd8 ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
 -:  ---------- >  5:  99e6d47108 ls-tree: rename "retval" to "recurse" in "show_tree()"
 -:  ---------- >  6:  a8d9b78dea ls-tree: simplify nesting if/else logic in "show_tree()"
 -:  ---------- >  7:  25a07e048f ls-tree: fix "--name-only" and "--long" combined use bug
 1:  f449146b4d !  8:  55f1e10d7e ls-tree: slightly refactor `show_tree()`
    @@ builtin/ls-tree.c
     -#define LS_SHOW_SIZE 16
     +#define LS_TREE_ONLY (1 << 1)
     +#define LS_SHOW_TREES (1 << 2)
    -+#define LS_NAME_ONLY (1 << 3)
    -+#define LS_SHOW_SIZE (1 << 4)
      static int abbrev;
      static int ls_options;
      static struct pathspec pathspec;
    @@ builtin/ls-tree.c
      	NULL
      };
      
    -+static enum mutx_option {
    -+	MODE_UNSPECIFIED = 0,
    ++static enum ls_tree_cmdmode {
    ++	MODE_LONG = 1,
     +	MODE_NAME_ONLY,
    -+	MODE_LONG,
     +} cmdmode;
     +
     +static int parse_shown_fields(void)
 2:  80311adc7c !  9:  85d0b0da1d ls-tree: introduce struct "show_tree_data"
    @@ builtin/ls-tree.c: static unsigned int shown_fields;
      static const  char * const ls_tree_usage[] = {
      	N_("git ls-tree [<options>] <tree-ish> [<path>...]"),
      	NULL
    -@@ builtin/ls-tree.c: static enum mutx_option {
    - 	MODE_LONG,
    +@@ builtin/ls-tree.c: static enum ls_tree_cmdmode {
    + 	MODE_NAME_ONLY,
      } cmdmode;
      
     -static int parse_shown_fields(void)
 3:  459080f549 = 10:  eddcf903ad cocci: allow padding with `strbuf_addf()`
 4:  cb717d08be ! 11:  7451242daa ls-tree: introduce "--format" option
    @@ Commit message
         idea and suggestion, this commit makes modifications in terms of the
         original discussion on community [1].
     
    +    In [1] there was a "GIT_TEST_LS_TREE_FORMAT_BACKEND" variable to
    +    ensure that we had test coverage for passing tests that would
    +    otherwise use show_tree() through show_tree_fmt(), and thus that the
    +    formatting mechanism could handle all the same cases as the
    +    non-formatting options.
    +
    +    Somewhere in subsequent re-rolls of that we seem to have drifted away
    +    from what the goal of these tests should be. We're trying to ensure
    +    correctness of show_tree_fmt(). We can't tell if we "hit [the]
    +    fast-path" here, and instead of having an explicit test for that, we
    +    can just add it to something our "test_ls_tree_format" tests for.
    +
         Here is the statistics about performance tests:
     
         1. Default format (hitten the builtin formats):
    @@ Commit message
     
         Links:
                 [1] https://public-inbox.org/git/RFC-patch-6.7-eac299f06ff-20211217T131635Z-avarab@gmail.com/
    +            [2] https://lore.kernel.org/git/cb717d08be87e3239117c6c667cb32caabaad33d.1646390152.git.dyroneteng@gmail.com/
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Teng Long <dyroneteng@gmail.com>
    @@ builtin/ls-tree.c: static const char *ls_tree_prefix;
      struct show_tree_data {
      	unsigned mode;
      	enum object_type type;
    -@@ builtin/ls-tree.c: static enum mutx_option {
    - 	MODE_LONG,
    +@@ builtin/ls-tree.c: static enum ls_tree_cmdmode {
    + 	MODE_NAME_ONLY,
      } cmdmode;
      
     +static void expand_objectsize(struct strbuf *line, const struct object_id *oid,
    @@ t/t3104-ls-tree-format.sh (new)
     +	opts=$2 &&
     +	fmtopts=$3 &&
     +	shift 2 &&
    -+	git ls-tree $opts -r HEAD >expect.raw &&
    -+	sed "s/^/> /" >expect <expect.raw &&
    -+	git ls-tree --format="> $format" -r $fmtopts HEAD >actual &&
    -+	test_cmp expect actual
    ++
    ++	test_expect_success "ls-tree '--format=<$format>' is like options '$opts $fmtopts'" '
    ++		git ls-tree $opts -r HEAD >expect &&
    ++		git ls-tree --format="$format" -r $fmtopts HEAD >actual &&
    ++		test_cmp expect actual
    ++	'
    ++
    ++	test_expect_success "ls-tree '--format=<$format>' on optimized v.s. non-optimized path" '
    ++		git ls-tree --format="$format" -r $fmtopts HEAD >expect &&
    ++		git ls-tree --format="> $format" -r $fmtopts HEAD >actual.raw &&
    ++		sed "s/^> //" >actual <actual.raw &&
    ++		test_cmp expect actual
    ++	'
     +}
     +
    -+test_expect_success 'ls-tree --format=<default-like>' '
    -+	test_ls_tree_format \
    -+		"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
    -+		""
    -+'
    ++test_ls_tree_format \
    ++	"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
    ++	""
     +
    -+test_expect_success 'ls-tree --format=<long-like>' '
    -+	test_ls_tree_format \
    -+		"%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)" \
    -+		"--long"
    -+'
    ++test_ls_tree_format \
    ++	"%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)" \
    ++	"--long"
     +
    -+test_expect_success 'ls-tree --format=<name-only-like>' '
    -+	test_ls_tree_format \
    -+		"%(path)" \
    -+		"--name-only"
    -+'
    ++test_ls_tree_format \
    ++	"%(path)" \
    ++	"--name-only"
     +
    -+test_expect_success 'ls-tree combine --format=<default-like> and -t' '
    -+	test_ls_tree_format \
    ++test_ls_tree_format \
     +	"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
     +	"-t" \
     +	"-t"
    -+'
     +
    -+test_expect_success 'ls-tree combine --format=<default-like> and --full-name' '
    -+	test_ls_tree_format \
    ++test_ls_tree_format \
     +	"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
     +	"--full-name" \
     +	"--full-name"
    -+'
     +
    -+test_expect_success 'ls-tree combine --format=<default-like> and --full-tree' '
    -+	test_ls_tree_format \
    ++test_ls_tree_format \
     +	"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
     +	"--full-tree" \
     +	"--full-tree"
    -+'
     +
    -+test_expect_success 'ls-tree hit fast-path with --format=<default-like>' '
    -+	git ls-tree -r HEAD >expect &&
    -+	git ls-tree --format="%(objectmode) %(objecttype) %(objectname)%x09%(path)" -r HEAD >actual &&
    -+	test_cmp expect actual
    -+'
    -+
    -+test_expect_success 'ls-tree hit fast-path with --format=<name-only-like>' '
    -+	git ls-tree -r --name-only HEAD >expect &&
    -+	git ls-tree --format="%(path)" -r HEAD >actual &&
    -+	test_cmp expect actual
    -+'
     +test_done
 5:  55b1c4379d ! 12:  2bcd08ebd0 ls-tree: support --object-only option for "git-ls-tree"
    @@ Documentation/git-ls-tree.txt: OPTIONS
      	Instead of showing the full 40-byte hexadecimal object
     
      ## builtin/ls-tree.c ##
    -@@ builtin/ls-tree.c: static int line_termination = '\n';
    - #define LS_SHOW_TREES (1 << 2)
    - #define LS_NAME_ONLY (1 << 3)
    - #define LS_SHOW_SIZE (1 << 4)
    -+#define LS_OBJECT_ONLY (1 << 5)
    - static int abbrev;
    - static int ls_options;
    - static struct pathspec pathspec;
     @@ builtin/ls-tree.c: static const char *format;
      static const char *default_format = "%(objectmode) %(objecttype) %(objectname)%x09%(path)";
      static const char *long_format = "%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)";
    @@ builtin/ls-tree.c: static const char *format;
      	unsigned mode;
      	enum object_type type;
     @@ builtin/ls-tree.c: static const  char * const ls_tree_usage[] = {
    - static enum mutx_option {
    - 	MODE_UNSPECIFIED = 0,
    + static enum ls_tree_cmdmode {
    + 	MODE_LONG = 1,
      	MODE_NAME_ONLY,
     +	MODE_OBJECT_ONLY,
    - 	MODE_LONG,
      } cmdmode;
      
    + static void expand_objectsize(struct strbuf *line, const struct object_id *oid,
     @@ builtin/ls-tree.c: static int parse_shown_fields(unsigned int *shown_fields)
      		*shown_fields = FIELD_PATH_NAME;
      		return 0;
    @@ t/t3103-ls-tree-misc.sh: test_expect_success 'ls-tree fails with non-zero exit c
      test_done
     
      ## t/t3104-ls-tree-format.sh ##
    -@@ t/t3104-ls-tree-format.sh: test_expect_success 'ls-tree --format=<name-only-like>' '
    - 		"--name-only"
    - '
    +@@ t/t3104-ls-tree-format.sh: test_ls_tree_format \
    + 	"%(path)" \
    + 	"--name-only"
      
    -+test_expect_success 'ls-tree --format=<object-only-like>' '
    -+	test_ls_tree_format \
    -+		"%(objectname)" \
    -+		"--object-only"
    -+'
    ++test_ls_tree_format \
    ++	"%(objectname)" \
    ++	"--object-only"
     +
    -+test_expect_success 'ls-tree --format=<object-only-like> --abbrev' '
    -+	test_ls_tree_format \
    -+		"%(objectname)" \
    -+		"--object-only --abbrev" \
    -+		"--abbrev"
    -+'
    ++test_ls_tree_format \
    ++	"%(objectname)" \
    ++	"--object-only --abbrev" \
    ++	"--abbrev"
     +
    - test_expect_success 'ls-tree combine --format=<default-like> and -t' '
    - 	test_ls_tree_format \
    + test_ls_tree_format \
      	"%(objectmode) %(objecttype) %(objectname)%x09%(path)" \
    -@@ t/t3104-ls-tree-format.sh: test_expect_success 'ls-tree hit fast-path with --format=<name-only-like>' '
    - 	git ls-tree --format="%(path)" -r HEAD >actual &&
    - 	test_cmp expect actual
    - '
    -+
    -+test_expect_success 'ls-tree hit fast-path with --format=<object-only-like>' '
    -+	git ls-tree -r --object-only HEAD >expect &&
    -+	git ls-tree --format="%(objectname)" -r HEAD >actual &&
    -+	test_cmp expect actual
    -+'
    - test_done
    + 	"-t" \
 -:  ---------- > 13:  a5c73de057 ls-tree tests: add tests for --name-status
 -:  ---------- > 14:  89402a8518 ls-tree: detect and error on --name-only --name-status
 -:  ---------- > 15:  b8afca193a ls-tree: remove FIELD_*, just use MODE_*
 -:  ---------- > 16:  010e3c0ece ls-tree: split up "fast path" callbacks
-- 
2.34.1.406.g2e0e55130e


  parent reply	other threads:[~2022-03-21  7:33 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15 11:51 [PATCH 0/3] support `--oid-only` in `ls-tree` Teng Long
2021-11-15 11:51 ` [PATCH 1/3] ls-tree.c: support `--oid-only` option for "git-ls-tree" Teng Long
2021-11-15 15:12   ` Ævar Arnfjörð Bjarmason
2021-11-18  9:28     ` Teng Long
2021-11-18 11:00       ` Ævar Arnfjörð Bjarmason
2021-11-15 19:16   ` Jeff King
2021-11-15 19:25     ` Jeff King
2021-11-18 11:23     ` Teng Long
2021-11-15 11:51 ` [PATCH 2/3] t3104: add related tests for `--oid-only` option Teng Long
2021-11-15 15:54   ` Đoàn Trần Công Danh
2021-11-18  8:45     ` Teng Long
2021-11-15 11:51 ` [PATCH 3/3] git-ls-tree.txt: description of the 'oid-only' option Teng Long
2021-11-15 15:13 ` [PATCH 0/3] support `--oid-only` in `ls-tree` Ævar Arnfjörð Bjarmason
2021-11-15 19:09   ` Jeff King
2021-11-15 21:50     ` Ævar Arnfjörð Bjarmason
2021-11-19  2:57       ` Teng Long
2021-11-15 19:23 ` Jeff King
2021-11-19 12:09 ` [PATCH v2 0/1] " Teng Long
2021-11-19 12:09   ` [PATCH v2 1/1] ls-tree.c: support `--oid-only` option for "git-ls-tree" Teng Long
2021-11-19 13:30     ` Ævar Arnfjörð Bjarmason
2021-11-19 17:32       ` Junio C Hamano
2021-11-22  7:45       ` Teng Long
2021-11-22 11:14         ` Ævar Arnfjörð Bjarmason
2021-11-22  8:07   ` [PATCH v3 0/1] ls-tree.c: support `--oid-only` option Teng Long
2021-11-22  8:07     ` [PATCH v3 1/1] ls-tree.c: support `--oid-only` option for "git-ls-tree" Teng Long
2021-11-22 18:11       ` Peter Baumann
2021-11-22 18:54       ` Junio C Hamano
2021-11-23  1:09         ` Ævar Arnfjörð Bjarmason
2021-11-23  1:26           ` Junio C Hamano
2021-11-23  2:28             ` Ævar Arnfjörð Bjarmason
2021-11-23  2:55               ` Junio C Hamano
2021-11-23  3:35                 ` Junio C Hamano
2021-11-23 11:04                   ` Ævar Arnfjörð Bjarmason
2021-11-23  0:14       ` Đoàn Trần Công Danh
2021-11-23  4:58     ` [PATCH v4 0/1] ls-tree.c: support `--oid-only` option Teng Long
2021-11-23  4:58       ` [PATCH v4 1/1] ls-tree.c: support `--oid-only` option for "git-ls-tree" Teng Long
2021-11-23 22:32         ` Junio C Hamano
2021-12-06  7:52           ` Teng Long
2021-12-08  2:08       ` [PATCH v5 0/1] support `--object-only` " Teng Long
2021-12-08  2:08         ` [PATCH v5 1/1] ls-tree.c: " Teng Long
2021-12-15 19:25           ` Junio C Hamano
2021-12-16 12:16             ` Teng Long
2021-12-16 21:26               ` Junio C Hamano
2021-12-16 21:29                 ` Ævar Arnfjörð Bjarmason
2021-12-17  6:57         ` [PATCH v6 0/1] " Teng Long
2021-12-17  6:57           ` [PATCH v6 1/1] ls-tree.c: " Teng Long
2021-12-17 13:09             ` Ævar Arnfjörð Bjarmason
2021-12-17 13:30           ` [RFC PATCH 0/7] ls-tree --format Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 1/7] ls-tree: remove commented-out code Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 2/7] ls-tree: add missing braces to "else" arms Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 3/7] ls-tree: use "enum object_type", not {blob,tree,commit}_type Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 4/7] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 5/7] ls-tree: split up the "init" part of show_tree() Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 6/7] ls-tree: add a --format=<fmt> option Ævar Arnfjörð Bjarmason
2021-12-17 13:30             ` [RFC PATCH 7/7] ls-tree.c: support `--object-only` option for "git-ls-tree" Ævar Arnfjörð Bjarmason
2022-01-01 13:50           ` [PATCH v8 0/8] ls-tree: "--object-only" and "--format" opts Teng Long
2022-01-01 13:50             ` [PATCH v8 1/8] ls-tree: remove commented-out code Teng Long
2022-01-01 13:50             ` [PATCH v8 2/8] ls-tree: add missing braces to "else" arms Teng Long
2022-01-01 13:50             ` [PATCH v8 3/8] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-01-01 13:50             ` [PATCH v8 4/8] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-01-01 13:50             ` [PATCH v8 5/8] ls-tree: split up the "init" part of show_tree() Teng Long
2022-01-04  2:06               ` Junio C Hamano
2022-01-04  9:49                 ` Teng Long
2022-01-01 13:50             ` [PATCH v8 6/8] ls-tree.c: support --object-only option for "git-ls-tree" Teng Long
2022-01-04  1:21               ` Junio C Hamano
2022-01-04  7:29                 ` Teng Long
2022-01-01 13:50             ` [PATCH v8 7/8] ls-tree.c: introduce struct "shown_data" Teng Long
2022-01-03 23:21               ` Junio C Hamano
2022-01-04  2:02                 ` Teng Long
2022-01-01 13:50             ` [PATCH v8 8/8] ls-tree.c: introduce "--format" option Teng Long
2022-01-04 14:38               ` Johannes Schindelin
2022-01-04 15:17                 ` Johannes Schindelin
2022-01-05  9:40                   ` Teng Long
2022-01-05  9:58                 ` Teng Long
2022-01-05 13:09                   ` Johannes Schindelin
2022-01-05 16:44                     ` Teng Long
2022-01-06  4:31             ` [PATCH v9 0/9] " Teng Long
2022-01-06  4:31               ` [PATCH v9 1/9] ls-tree: remove commented-out code Teng Long
2022-01-06  4:31               ` [PATCH v9 2/9] ls-tree: add missing braces to "else" arms Teng Long
2022-01-06  4:31               ` [PATCH v9 3/9] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-01-06  4:31               ` [PATCH v9 4/9] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-01-06  4:31               ` [PATCH v9 5/9] ls-tree: optimize naming and handling of "return" in show_tree() Teng Long
2022-01-06 20:44                 ` Junio C Hamano
2022-01-11  9:14                   ` Teng Long
2022-01-06  4:31               ` [PATCH v9 6/9] ls-tree.c: support --object-only option for "git-ls-tree" Teng Long
2022-01-06  4:31               ` [PATCH v9 7/9] ls-tree.c: introduce struct "show_tree_data" Teng Long
2022-01-06  4:31               ` [PATCH v9 8/9] ls-tree.c: introduce "--format" option Teng Long
2022-01-10 19:41                 ` Martin Ågren
2022-01-11  9:34                   ` Teng Long
2022-01-06  4:31               ` [PATCH v9 9/9] cocci: allow padding with `strbuf_addf()` Teng Long
2022-01-07 13:03                 ` Johannes Schindelin
2022-01-10  8:22                   ` Teng Long
2022-01-10 12:49                     ` Johannes Schindelin
2022-01-10 14:40                       ` Teng Long
2022-01-10 17:47                       ` Junio C Hamano
2022-01-10 18:02                       ` Ævar Arnfjörð Bjarmason
2022-01-10 18:34                   ` Junio C Hamano
2022-01-10 18:00                 ` Ævar Arnfjörð Bjarmason
2022-01-11 10:37                   ` Teng Long
2022-01-11 16:42                   ` Taylor Blau
2022-01-11 19:06                     ` René Scharfe
2022-01-11 20:11                       ` Taylor Blau
2022-01-13  3:34                         ` Teng Long
2022-01-11 20:39                     ` Ævar Arnfjörð Bjarmason
2022-01-13  3:35                       ` Teng Long
2022-01-13  3:28                     ` Teng Long
2022-01-13  3:42               ` [PATCH v10 0/9] ls-tree: "--object-only" and "--format" opts Teng Long
2022-01-13  3:42                 ` [PATCH v10 1/9] ls-tree: remove commented-out code Teng Long
2022-01-13  3:42                 ` [PATCH v10 2/9] ls-tree: add missing braces to "else" arms Teng Long
2022-01-13  3:42                 ` [PATCH v10 3/9] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-01-13  3:42                 ` [PATCH v10 4/9] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-01-13  3:42                 ` [PATCH v10 5/9] ls-tree: optimize naming and handling of "return" in show_tree() Teng Long
2022-01-13  6:49                   ` Ævar Arnfjörð Bjarmason
2022-01-14  7:59                     ` Teng Long
2022-01-14 12:00                       ` Ævar Arnfjörð Bjarmason
2022-01-13  3:42                 ` [PATCH v10 6/9] ls-tree.c: support --object-only option for "git-ls-tree" Teng Long
2022-01-13  6:59                   ` Ævar Arnfjörð Bjarmason
2022-01-14  8:18                     ` Teng Long
2022-01-14 11:47                       ` Ævar Arnfjörð Bjarmason
2022-01-18  9:55                         ` Teng Long
2022-02-04 12:58                           ` Ævar Arnfjörð Bjarmason
2022-02-07  2:22                             ` Teng Long
2022-01-13  3:42                 ` [PATCH v10 7/9] ls-tree.c: introduce struct "show_tree_data" Teng Long
2022-01-13  7:03                   ` Ævar Arnfjörð Bjarmason
2022-01-14  9:12                     ` Teng Long
2022-01-13  3:42                 ` [PATCH v10 8/9] cocci: allow padding with `strbuf_addf()` Teng Long
2022-01-13  3:42                 ` [PATCH v10 9/9] ls-tree.c: introduce "--format" option Teng Long
2022-01-13  7:16                   ` Ævar Arnfjörð Bjarmason
2022-01-18 12:59                     ` Teng Long
2022-02-08 12:14                 ` [PATCH v11 00/13] ls-tree: "--object-only" and "--format" opts Teng Long
2022-02-08 12:14                   ` [PATCH v11 01/13] ls-tree: remove commented-out code Teng Long
2022-02-08 12:14                   ` [PATCH v11 02/13] ls-tree: add missing braces to "else" arms Teng Long
2022-02-08 12:14                   ` [PATCH v11 03/13] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-02-08 12:14                   ` [PATCH v11 04/13] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-02-08 12:14                   ` [PATCH v11 05/13] ls-tree: rename "retval" to "recurse" in "show_tree()" Teng Long
2022-02-08 12:14                   ` [PATCH v11 06/13] ls-tree: simplify nesting if/else logic " Teng Long
2022-02-19  6:06                     ` Ævar Arnfjörð Bjarmason
2022-02-08 12:14                   ` [PATCH v11 07/13] ls-tree: fix "--name-only" and "--long" combined use bug Teng Long
2022-02-19  6:04                     ` Ævar Arnfjörð Bjarmason
2022-02-08 12:14                   ` [PATCH v11 08/13] ls-tree: slightly refactor `show_tree()` Teng Long
2022-02-19  5:56                     ` Ævar Arnfjörð Bjarmason
     [not found]                       ` <CADMgQSRYKB1ybxZWxQQ3uVM71fmdbzHqcK-WUPNKm2HMxw2C2g@mail.gmail.com>
2022-02-28 16:18                         ` Ævar Arnfjörð Bjarmason
2022-02-08 12:14                   ` [PATCH v11 09/13] ls-tree: introduce struct "show_tree_data" Teng Long
2022-02-08 12:14                   ` [PATCH v11 10/13] cocci: allow padding with `strbuf_addf()` Teng Long
2022-02-08 12:14                   ` [PATCH v11 11/13] ls-tree.c: introduce "--format" option Teng Long
2022-02-19  5:44                     ` Ævar Arnfjörð Bjarmason
2022-02-08 12:14                   ` [PATCH v11 12/13] ls-tree: introduce function "fast_path()" Teng Long
2022-02-19  5:32                     ` Ævar Arnfjörð Bjarmason
2022-02-08 12:14                   ` [PATCH v11 13/13] ls-tree.c: support --object-only option for "git-ls-tree" Teng Long
2022-02-19  5:24                     ` Ævar Arnfjörð Bjarmason
2022-03-04 10:42                   ` [PATCH v12 00/12] ls-tree: "--object-only" and "--format" opts Teng Long
2022-03-04 10:42                     ` [PATCH v12 01/12] ls-tree: remove commented-out code Teng Long
2022-03-04 10:42                     ` [PATCH v12 02/12] ls-tree: add missing braces to "else" arms Teng Long
2022-03-04 10:42                     ` [PATCH v12 03/12] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-03-04 10:42                     ` [PATCH v12 04/12] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-03-04 10:42                     ` [PATCH v12 05/12] ls-tree: rename "retval" to "recurse" in "show_tree()" Teng Long
2022-03-04 10:42                     ` [PATCH v12 06/12] ls-tree: simplify nesting if/else logic " Teng Long
2022-03-04 10:42                     ` [PATCH v12 07/12] ls-tree: fix "--name-only" and "--long" combined use bug Teng Long
2022-03-04 10:42                     ` [PATCH v12 08/12] ls-tree: slightly refactor `show_tree()` Teng Long
2022-03-04 10:42                     ` [PATCH v12 09/12] ls-tree: introduce struct "show_tree_data" Teng Long
2022-03-04 10:42                     ` [PATCH v12 10/12] cocci: allow padding with `strbuf_addf()` Teng Long
2022-03-04 10:42                     ` [PATCH v12 11/12] ls-tree: introduce "--format" option Teng Long
2022-03-04 10:42                     ` [PATCH v12 12/12] ls-tree: support --object-only option for "git-ls-tree" Teng Long
2022-03-10 13:56                     ` [RFC/REVIEW 0/7] fixups/suggestions/musings for tl/ls-tree-oid-only Ævar Arnfjörð Bjarmason
2022-03-10 13:56                       ` [RFC/REVIEW 1/7] ls-tree tests: add tests for --name-status Ævar Arnfjörð Bjarmason
2022-03-10 13:56                       ` [RFC/REVIEW 2/7] ls-tree tests: exhaustively test fast & slow path for --format Ævar Arnfjörð Bjarmason
2022-03-10 13:56                       ` [RFC/REVIEW 3/7] ls-tree: remove dead labels Ævar Arnfjörð Bjarmason
2022-03-10 13:57                       ` [RFC/REVIEW 4/7] ls-tree: remove unused "MODE_UNSPECIFIED" Ævar Arnfjörð Bjarmason
2022-03-10 13:57                       ` [RFC/REVIEW 5/7] ls-tree: detect and error on --name-only --name-status Ævar Arnfjörð Bjarmason
2022-03-10 13:57                       ` [RFC/REVIEW 6/7] ls-tree: remove FIELD_*, just use MODE_* Ævar Arnfjörð Bjarmason
2022-03-10 13:57                       ` [RFC/REVIEW 7/7] ls-tree: split up "fast path" callbacks Ævar Arnfjörð Bjarmason
2022-03-17  9:51                       ` [RFC/REVIEW 0/7] fixups/suggestions/musings for tl/ls-tree-oid-only Teng Long
2022-03-17 10:04                         ` Ævar Arnfjörð Bjarmason
2022-03-21  7:33                     ` Teng Long [this message]
2022-03-21  7:33                       ` [PATCH v13 01/16] ls-tree: remove commented-out code Teng Long
2022-03-21  7:33                       ` [PATCH v13 02/16] ls-tree: add missing braces to "else" arms Teng Long
2022-03-21  7:33                       ` [PATCH v13 03/16] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-03-21  7:33                       ` [PATCH v13 04/16] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-03-21  7:33                       ` [PATCH v13 05/16] ls-tree: rename "retval" to "recurse" in "show_tree()" Teng Long
2022-03-21  7:33                       ` [PATCH v13 06/16] ls-tree: simplify nesting if/else logic " Teng Long
2022-03-21  7:33                       ` [PATCH v13 07/16] ls-tree: fix "--name-only" and "--long" combined use bug Teng Long
2022-03-21  7:33                       ` [PATCH v13 08/16] ls-tree: slightly refactor `show_tree()` Teng Long
2022-03-21  7:33                       ` [PATCH v13 09/16] ls-tree: introduce struct "show_tree_data" Teng Long
2022-03-21  7:33                       ` [PATCH v13 10/16] cocci: allow padding with `strbuf_addf()` Teng Long
2022-03-21  7:33                       ` [PATCH v13 11/16] ls-tree: introduce "--format" option Teng Long
2022-03-21  9:22                         ` Ævar Arnfjörð Bjarmason
2022-03-21  7:33                       ` [PATCH v13 12/16] ls-tree: support --object-only option for "git-ls-tree" Teng Long
2022-03-21  7:33                       ` [PATCH v13 13/16] ls-tree tests: add tests for --name-status Teng Long
2022-03-21  9:21                         ` Ævar Arnfjörð Bjarmason
2022-03-21  7:33                       ` [PATCH v13 14/16] ls-tree: detect and error on --name-only --name-status Teng Long
2022-03-21  7:33                       ` [PATCH v13 15/16] ls-tree: remove FIELD_*, just use MODE_* Teng Long
2022-03-21  9:15                         ` Ævar Arnfjörð Bjarmason
2022-03-21  7:33                       ` [PATCH v13 16/16] ls-tree: split up "fast path" callbacks Teng Long
2022-03-21  9:20                         ` Ævar Arnfjörð Bjarmason
2022-03-23  9:58                           ` Teng Long
2022-03-21 19:07                       ` [PATCH v13 00/16] ls-tree: "--object-only" and "--format" opts Junio C Hamano
2022-03-23  9:13                       ` [PATCH v14 00/15] " Teng Long
2022-03-23  9:13                         ` [PATCH v14 01/15] ls-tree tests: add tests for --name-status Teng Long
2022-03-23  9:13                         ` [PATCH v14 02/15] ls-tree: remove commented-out code Teng Long
2022-03-23  9:13                         ` [PATCH v14 03/15] ls-tree: add missing braces to "else" arms Teng Long
2022-03-23  9:13                         ` [PATCH v14 04/15] ls-tree: use "enum object_type", not {blob,tree,commit}_type Teng Long
2022-03-23  9:13                         ` [PATCH v14 05/15] ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" Teng Long
2022-03-23  9:13                         ` [PATCH v14 06/15] ls-tree: rename "retval" to "recurse" in "show_tree()" Teng Long
2022-03-23  9:13                         ` [PATCH v14 07/15] ls-tree: simplify nesting if/else logic " Teng Long
2022-03-23  9:13                         ` [PATCH v14 08/15] ls-tree: fix "--name-only" and "--long" combined use bug Teng Long
2022-03-23  9:13                         ` [PATCH v14 09/15] ls-tree: slightly refactor `show_tree()` Teng Long
2022-03-23  9:13                         ` [PATCH v14 10/15] ls-tree: introduce struct "show_tree_data" Teng Long
2022-03-23  9:13                         ` [PATCH v14 11/15] cocci: allow padding with `strbuf_addf()` Teng Long
2022-03-23  9:13                         ` [PATCH v14 12/15] ls-tree: introduce "--format" option Teng Long
2022-03-23  9:13                         ` [PATCH v14 13/15] ls-tree: support --object-only option for "git-ls-tree" Teng Long
2022-03-23  9:13                         ` [PATCH v14 14/15] ls-tree: detect and error on --name-only --name-status Teng Long
2022-03-23  9:13                         ` [PATCH v14 15/15] ls-tree: split up "fast path" callbacks Teng Long
2022-04-04 20:06                           ` Josh Steadmon
2022-04-04 22:42                             ` [RFC PATCH] ls-tree: `-l` should not imply recursive listing Josh Steadmon
2022-04-04 23:45                               ` [PATCH v2] ls-tree: fix --long implying -r regression in 9c4d58ff2c3 Ævar Arnfjörð Bjarmason
2022-04-06 17:56                                 ` Junio C Hamano
2022-04-06 20:36                                   ` Ævar Arnfjörð Bjarmason
2022-04-06 21:51                                     ` Junio C Hamano
2022-04-07  7:14                                       ` Ævar Arnfjörð Bjarmason
2022-04-07 18:40                                         ` Junio C Hamano
2022-05-31 17:21                                           ` [PATCH] ls-tree: test for the " Ævar Arnfjörð Bjarmason
2022-06-02 15:18                                             ` Johannes Schindelin
2022-06-02 17:48                                               ` Junio C Hamano
2022-06-03  9:54                                               ` js/ci-github-workflow-markup output regression (was: [PATCH] ls-tree: test for the regression in 9c4d58ff2c3) Ævar Arnfjörð Bjarmason
2022-06-03 19:27                                                 ` js/ci-github-workflow-markup output regression Junio C Hamano
2022-06-03 23:13                                                   ` Ævar Arnfjörð Bjarmason
2022-06-07 18:25                                                     ` Junio C Hamano
2022-06-07 21:40                                                       ` Ævar Arnfjörð Bjarmason
2022-06-08  8:04                                                       ` Johannes Schindelin
2022-06-09 19:43                                                         ` Ævar Arnfjörð Bjarmason
2022-06-03 10:23                                             ` [PATCH v2] ls-tree: test for the regression in 9c4d58ff2c3 Ævar Arnfjörð Bjarmason
2022-06-08 21:55                                               ` Johannes Schindelin
2022-04-07  9:29                                 ` [PATCH v2] ls-tree: fix --long implying -r " Teng Long
2022-04-06 15:41                               ` [RFC PATCH] ls-tree: `-l` should not imply recursive listing Junio C Hamano
2022-03-23 19:54                         ` [PATCH v14 00/15] ls-tree: "--object-only" and "--format" opts Junio C Hamano
2022-03-24  3:00                           ` Teng Long

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1647846935.git.dyroneteng@gmail.com \
    --to=dyroneteng@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=avarab@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=martin.agren@gmail.com \
    --cc=peff@peff.net \
    --cc=tenglong.tl@alibaba-inc.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).