ls-tree: `-l` should not imply recursive listing
commit350296cc78912c245847ec65e55143053450cce1
authorJosh Steadmon <steadmon@google.com>
Mon, 4 Apr 2022 22:42:24 +0000 (4 15:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Apr 2022 15:41:25 +0000 (6 08:41 -0700)
treea0812fe413b90cdbfb07a188dc726c24e59d0af9
parent9c4d58ff2c385f49585197c8650356955e1fa02e
ls-tree: `-l` should not imply recursive listing

In 9c4d58ff2c (ls-tree: split up "fast path" callbacks, 2022-03-23), a
refactoring of the various read_tree_at() callbacks caused us to
unconditionally recurse into directories if `-l` (long format) was
passed on the command line, regardless of whether or not we also pass
the `-r` (recursive) flag.

Fix this by making show_tree_long() return the value of `recurse`,
rather than always returning 1. This value is interpreted by
read_tree_at() to be a signal on whether or not to recurse.

Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/ls-tree.c