From: Junio C Hamano <gitster@pobox.com>
To: Jonathan Tan <jonathantanmy@google.com>
Cc: git@vger.kernel.org, avarab@gmail.com
Subject: Re: [PATCH] ls-files: support --recurse-submodules --stage
Date: Fri, 18 Feb 2022 16:33:01 -0800 [thread overview]
Message-ID: <xmqqzgmnwv9e.fsf@gitster.g> (raw)
In-Reply-To: <20220218223212.1139366-1-jonathantanmy@google.com> (Jonathan Tan's message of "Fri, 18 Feb 2022 14:32:11 -0800")
Jonathan Tan <jonathantanmy@google.com> writes:
> diff --git a/builtin/ls-files.c b/builtin/ls-files.c
> index f7ea56cc63..e791b65e7e 100644
> --- a/builtin/ls-files.c
> +++ b/builtin/ls-files.c
> @@ -244,7 +244,7 @@ static void show_ce(struct repository *repo, struct dir_struct *dir,
> printf("%s%06o %s %d\t",
> tag,
> ce->ce_mode,
> - find_unique_abbrev(&ce->oid, abbrev),
> + repo_find_unique_abbrev(repo, &ce->oid, abbrev),
> ce_stage(ce));
> }
Quite straight-forward. At this point, repo is the repository we
are currently working in (which will be updated to the submodule
repository by show_submodule() and passed down to show_files()), so
the only thing we need to do is to make sure we use that repo
consistently. Makes sense.
> write_eolinfo(repo->index, ce, fullname);
> @@ -726,7 +726,7 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
> setup_work_tree();
>
> if (recurse_submodules &&
> - (show_stage || show_deleted || show_others || show_unmerged ||
> + (show_deleted || show_others || show_unmerged ||
> show_killed || show_modified || show_resolve_undo || with_tree))
> die("ls-files --recurse-submodules unsupported mode");
>
> diff --git a/t/t3007-ls-files-recurse-submodules.sh b/t/t3007-ls-files-recurse-submodules.sh
> index 4a08000713..3d2da360d1 100755
> --- a/t/t3007-ls-files-recurse-submodules.sh
> +++ b/t/t3007-ls-files-recurse-submodules.sh
> @@ -34,6 +34,25 @@ test_expect_success 'ls-files correctly outputs files in submodule' '
> test_cmp expect actual
> '
>
> +test_expect_success '--stage' '
> + # In order to test hash abbreviation, write two objects that have the
> + # same first 4 hexadecimal characters in their (SHA-1) hashes.
> + echo brocdnra >submodule/c &&
> + git -C submodule commit -am "update c" &&
> + echo brigddsv >submodule/c &&
> + git -C submodule commit -am "update c again" &&
> +
> + cat >expect <<-\EOF &&
> + 100644 6da7 0 .gitmodules
> + 100644 7898 0 a
> + 100644 6178 0 b/b
> + 100644 dead9 0 submodule/c
> + EOF
> +
> + git ls-files --stage --recurse-submodules --abbrev=4 >actual &&
> + test_cmp expect actual
> +'
> +
> test_expect_success 'ls-files correctly outputs files in submodule with -z' '
> lf_to_nul >expect <<-\EOF &&
> .gitmodules
> @@ -292,7 +311,6 @@ test_incompatible_with_recurse_submodules () {
> test_incompatible_with_recurse_submodules --deleted
> test_incompatible_with_recurse_submodules --modified
> test_incompatible_with_recurse_submodules --others
> -test_incompatible_with_recurse_submodules --stage
> test_incompatible_with_recurse_submodules --killed
> test_incompatible_with_recurse_submodules --unmerged
next prev parent reply other threads:[~2022-02-19 0:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-18 22:32 [PATCH] ls-files: support --recurse-submodules --stage Jonathan Tan
2022-02-19 0:33 ` Junio C Hamano [this message]
2022-02-19 3:11 ` Ævar Arnfjörð Bjarmason
2022-02-19 3:50 ` Taylor Blau
2022-02-21 18:19 ` Junio C Hamano
2022-02-21 18:51 ` Ævar Arnfjörð Bjarmason
2022-02-24 0:11 ` Jonathan Tan
2022-02-21 1:48 ` Junio C Hamano
2022-02-21 2:45 ` Taylor Blau
2022-02-24 0:23 ` [PATCH v2] " Jonathan Tan
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=xmqqzgmnwv9e.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.