git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "William Baker via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, williamtbakeremail@gmail.com,
	stolee@gmail.com, Johannes.Schindelin@gmx.de,
	jeffhost@microsoft.com,
	William Baker <William.Baker@microsoft.com>
Subject: Re: [PATCH v3 1/1] fsmonitor: don't fill bitmap with entries to be removed
Date: Sat, 12 Oct 2019 10:26:00 +0900	[thread overview]
Message-ID: <xmqq1rvig3fb.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <840972e08b2178e89b2c3ed77eb20c91ead894ad.1570824681.git.gitgitgadget@gmail.com> (William Baker via GitGitGadget's message of "Fri, 11 Oct 2019 13:11:23 -0700 (PDT)")

"William Baker via GitGitGadget" <gitgitgadget@gmail.com> writes:

> +# Test staging/unstaging files that appear at the end of the index.  Test
> +# file names begin with 'z' so that they are sorted to the end of the index. 

Well, the test is now done in a freshly created repository, so the
z* files are the only thing you have in here---technically they are
at the end of the index, but so they are at the beginning, too.

Would it affect the effectiveness of the test that you do not have
any other paths in the working tree or in the index, unlike the test
in the previous rounds that did not use a newly created test
repository?  

This is not a rhetorical question, but purely asking. "no, this
still tests what we want to test and shows breakage when the fix to
the code in the patch gets reverted" is perfectly a good answer, but
in that case, is "the end of" the most important trait of the
condition this test is checking?  Wouldn't the bug be exposed as
long as we remove sufficiently large number of entries (like
"removing more paths than the paths still in the index at the end"
or something like that)?

Thanks.

> +test_expect_success 'status succeeds after staging/unstaging ' '
> +	test_create_repo fsmonitor-stage-unstage &&
> +	(
> +		cd fsmonitor-stage-unstage &&
> +		test_commit initial &&
> +		git update-index --fsmonitor &&
> +		removed=$(test_seq 1 100 | sed "s/^/z/") &&
> +		touch $removed &&
> +		git add $removed &&
> +		git config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-env" &&
> +		FSMONITOR_LIST="$removed" git restore -S $removed &&
> +		FSMONITOR_LIST="$removed" git status
> +	)
> +'
> +
>  test_done
> diff --git a/t/t7519/fsmonitor-env b/t/t7519/fsmonitor-env
> new file mode 100755
> index 0000000000..8f1f7ab164
> --- /dev/null
> +++ b/t/t7519/fsmonitor-env
> @@ -0,0 +1,24 @@
> +#!/bin/sh
> +#
> +# An test hook script to integrate with git to test fsmonitor.
> +#
> +# The hook is passed a version (currently 1) and a time in nanoseconds
> +# formatted as a string and outputs to stdout all files that have been
> +# modified since the given time. Paths must be relative to the root of
> +# the working tree and separated by a single NUL.
> +#
> +#echo "$0 $*" >&2
> +
> +if test "$#" -ne 2
> +then
> +	echo "$0: exactly 2 arguments expected" >&2
> +	exit 2
> +fi
> +
> +if test "$1" != 1
> +then
> +	echo "Unsupported core.fsmonitor hook version." >&2
> +	exit 1
> +fi
> +
> +printf '%s\n' $FSMONITOR_LIST

  reply	other threads:[~2019-10-12  1:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 19:49 [PATCH 0/1] fsmonitor: don't fill bitmap with entries to be removed William Baker via GitGitGadget
2019-10-03 19:49 ` [PATCH 1/1] " William Baker via GitGitGadget
2019-10-03 23:36   ` Junio C Hamano
2019-10-07 18:10     ` William Baker
2019-10-03 21:08 ` [PATCH 0/1] " Johannes Schindelin
2019-10-03 23:17   ` Junio C Hamano
2019-10-09 21:00 ` [PATCH v2 " William Baker via GitGitGadget
2019-10-09 21:00   ` [PATCH v2 1/1] " William Baker via GitGitGadget
2019-10-10 11:07     ` SZEDER Gábor
2019-10-10 11:22       ` SZEDER Gábor
2019-10-11 16:38         ` William Baker
2019-10-10  1:56   ` [PATCH v2 0/1] " Junio C Hamano
2019-10-10 12:02     ` Johannes Schindelin
2019-10-11 20:11   ` [PATCH v3 " William Baker via GitGitGadget
2019-10-11 20:11     ` [PATCH v3 1/1] " William Baker via GitGitGadget
2019-10-12  1:26       ` Junio C Hamano [this message]
2019-10-15 19:07         ` William Baker

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=xmqq1rvig3fb.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=William.Baker@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=jeffhost@microsoft.com \
    --cc=stolee@gmail.com \
    --cc=williamtbakeremail@gmail.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).