From: Junio C Hamano <gitster@pobox.com>
To: "John Cai via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Taylor Blau" <me@ttaylorr.com>, "John Cai" <johncai86@gmail.com>
Subject: Re: [PATCH v4 1/3] stash: add tests to ensure reflog --rewrite --updatref behavior
Date: Wed, 02 Mar 2022 15:32:01 -0800 [thread overview]
Message-ID: <xmqqlexsexse.fsf@gitster.g> (raw)
In-Reply-To: <08bb8d3a9b9cd75c8b2aed11db9456baef6f415b.1646260044.git.gitgitgadget@gmail.com> (John Cai via GitGitGadget's message of "Wed, 02 Mar 2022 22:27:22 +0000")
"John Cai via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: John Cai <johncai86@gmail.com>
>
> There is missing test coverage to ensure that the resulting reflogs
> after a git stash drop has had its old oid rewritten if applicable, and
> if the refs/stash has been updated if applicable.
>
> Add two tests that verify both of these happen.
>
> Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Signed-off-by: John Cai <johncai86@gmail.com>
> ---
> t/t3903-stash.sh | 43 ++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 42 insertions(+), 1 deletion(-)
>
> diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
> index b149e2af441..a2f8d0c52e7 100755
> --- a/t/t3903-stash.sh
> +++ b/t/t3903-stash.sh
> @@ -41,7 +41,7 @@ diff_cmp () {
> rm -f "$1.compare" "$2.compare"
> }
>
> -test_expect_success 'stash some dirty working directory' '
> +setup_stash() {
Style.
setup_stash () {
but more importantly, is this really setting up "stash"?
"setup_stash_test" or something, perhaps?
> +test_expect_success 'stash some dirty working directory' '
> + setup_stash
> '
OK.
> +test_expect_success 'drop stash reflog updates refs/stash' '
> + git reset --hard &&
> + git rev-parse refs/stash >expect &&
> + echo 9 >file &&
> + git stash &&
> + git stash drop stash@{0} &&
> + git rev-parse refs/stash >actual &&
> + test_cmp expect actual
> +'
> +
> +test_expect_success REFFILES 'drop stash reflog updates refs/stash with rewrite' '
> + git init repo &&
> + (
> + cd repo &&
> + setup_stash
> + ) &&
Hmph, so this is done inside the subdirectory. The implementation
of the helper in this iteration does look cleaner than in the
previous iteration.
But these many references to "repo/" and "-C repo" we see below
makes me wonder why we do not put the whole thing inside the
subshell we started earlier.
i.e.
git init repo &&
(
cd repo &&
setup_stash_test &&
echo 9 >file &&
old=$(git rev-parse stash@{0}) &&
git stash &&
new=$(git rev-parse stash@{0}) &&
...
test_cmp expect actual
)
> + echo 9 >repo/file &&
> +
> + old_oid="$(git -C repo rev-parse stash@{0})" &&
> + git -C repo stash &&
> + new_oid="$(git -C repo rev-parse stash@{0})" &&
> +
> + cat >expect <<-EOF &&
> + $(test_oid zero) $old_oid
> + $old_oid $new_oid
> + EOF
> + cut -d" " -f1-2 repo/.git/logs/refs/stash >actual &&
> + test_cmp expect actual &&
> +
> + git -C repo stash drop stash@{1} &&
> + cut -d" " -f1-2 repo/.git/logs/refs/stash >actual &&
> + cat >expect <<-EOF &&
> + $(test_oid zero) $new_oid
> + EOF
> + test_cmp expect actual
> +'
> +
> test_expect_success 'stash pop' '
> git reset --hard &&
> git stash pop &&
next prev parent reply other threads:[~2022-03-02 23:51 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-18 18:40 [PATCH 0/3] libify reflog John Cai via GitGitGadget
2022-02-18 18:40 ` [PATCH 1/3] reflog: libify delete reflog function and helpers John Cai via GitGitGadget
2022-02-18 19:10 ` Ævar Arnfjörð Bjarmason
2022-02-18 19:39 ` Taylor Blau
2022-02-18 19:48 ` Ævar Arnfjörð Bjarmason
2022-02-18 19:35 ` Taylor Blau
2022-02-21 1:43 ` John Cai
2022-02-21 1:50 ` Taylor Blau
2022-02-23 19:50 ` John Cai
2022-02-18 20:00 ` Junio C Hamano
2022-02-19 2:53 ` Ævar Arnfjörð Bjarmason
2022-02-19 3:02 ` Taylor Blau
2022-02-20 7:49 ` Junio C Hamano
2022-02-18 20:21 ` Junio C Hamano
2022-02-18 18:40 ` [PATCH 2/3] reflog: call reflog_delete from reflog.c John Cai via GitGitGadget
2022-02-18 19:15 ` Ævar Arnfjörð Bjarmason
2022-02-18 20:26 ` Junio C Hamano
2022-02-18 18:40 ` [PATCH 3/3] stash: " John Cai via GitGitGadget
2022-02-18 19:20 ` Ævar Arnfjörð Bjarmason
2022-02-19 0:21 ` Taylor Blau
2022-02-22 2:36 ` John Cai
2022-02-22 10:51 ` Ævar Arnfjörð Bjarmason
2022-02-18 19:29 ` [PATCH 0/3] libify reflog Ævar Arnfjörð Bjarmason
2022-02-22 18:30 ` [PATCH v2 " John Cai via GitGitGadget
2022-02-22 18:30 ` [PATCH v2 1/3] stash: add test to ensure reflog --rewrite --updatref behavior John Cai via GitGitGadget
2022-02-23 8:54 ` Ævar Arnfjörð Bjarmason
2022-02-23 21:27 ` Junio C Hamano
2022-02-23 21:50 ` Ævar Arnfjörð Bjarmason
2022-02-24 18:21 ` John Cai
2022-02-25 11:45 ` Ævar Arnfjörð Bjarmason
2022-02-25 17:23 ` Junio C Hamano
2022-02-23 21:50 ` John Cai
2022-02-23 22:51 ` Junio C Hamano
2022-02-23 23:12 ` John Cai
2022-02-23 23:27 ` Ævar Arnfjörð Bjarmason
2022-02-23 23:50 ` Junio C Hamano
2022-02-24 14:53 ` John Cai
2022-02-22 18:30 ` [PATCH v2 2/3] reflog: libify delete reflog function and helpers John Cai via GitGitGadget
2022-02-23 9:02 ` Ævar Arnfjörð Bjarmason
2022-02-23 18:40 ` John Cai
2022-02-23 21:28 ` Junio C Hamano
2022-02-22 18:30 ` [PATCH v2 3/3] stash: call reflog_delete() in reflog.c John Cai via GitGitGadget
2022-02-25 19:30 ` [PATCH v3 0/3] libify reflog John Cai via GitGitGadget
2022-02-25 19:30 ` [PATCH v3 1/3] stash: add tests to ensure reflog --rewrite --updatref behavior John Cai via GitGitGadget
2022-03-02 18:52 ` Ævar Arnfjörð Bjarmason
2022-02-25 19:30 ` [PATCH v3 2/3] reflog: libify delete reflog function and helpers John Cai via GitGitGadget
2022-02-25 19:30 ` [PATCH v3 3/3] stash: call reflog_delete() in reflog.c John Cai via GitGitGadget
2022-02-25 19:38 ` [PATCH v3 0/3] libify reflog Taylor Blau
2022-03-02 16:43 ` John Cai
2022-03-02 18:55 ` Ævar Arnfjörð Bjarmason
2022-03-02 22:27 ` [PATCH v4 " John Cai via GitGitGadget
2022-03-02 22:27 ` [PATCH v4 1/3] stash: add tests to ensure reflog --rewrite --updatref behavior John Cai via GitGitGadget
2022-03-02 23:32 ` Junio C Hamano [this message]
2022-03-03 15:22 ` John Cai
2022-03-03 16:11 ` Phillip Wood
2022-03-03 16:52 ` Ævar Arnfjörð Bjarmason
2022-03-03 17:28 ` Phillip Wood
2022-03-03 19:12 ` John Cai
2022-03-08 10:39 ` Phillip Wood
2022-03-08 18:09 ` John Cai
2022-03-02 22:27 ` [PATCH v4 2/3] reflog: libify delete reflog function and helpers John Cai via GitGitGadget
2022-03-02 22:27 ` [PATCH v4 3/3] stash: call reflog_delete() in reflog.c John Cai via GitGitGadget
2022-03-02 23:34 ` [PATCH v4 0/3] libify reflog 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=xmqqlexsexse.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=johncai86@gmail.com \
--cc=me@ttaylorr.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.