[PATCH v3 0/1] fsmonitor: don't fill bitmap with entries to be removed
- From
- William Baker via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Oct 11, 2019, 20:11 UTC
- Message-ID
- <pull.372.v3.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.372.v2.git.gitgitgadget@gmail.com>
This is the third iteration of changes to fix the segfault that I encountered while testing fsmonitor. This iteration includes the following updates for feedback I received on v2:
* Update the new test case to use its own dedicated test repository
This latest v3 series has been reviewed by Dscho.
Thanks, William
William Baker (1): fsmonitor: don't fill bitmap with entries to be removed
fsmonitor.c | 29 ++++++++++++++++++++++++----- t/t7519-status-fsmonitor.sh | 17 +++++++++++++++++ t/t7519/fsmonitor-env | 24 ++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 5 deletions(-) create mode 100755 t/t7519/fsmonitor-env
base-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-372%2Fwilbaker%2Ffix_git_fsmonitor_crash-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-372/wilbaker/fix_git_fsmonitor_crash-v3 Pull-Request: https://github.com/gitgitgadget/git/pull/372
Range-diff vs v2:
1: 08741d986c ! 1: 840972e08b fsmonitor: don't fill bitmap with entries to be removed
@@ -109,17 +109,21 @@
test_cmp expect actual
'
-+# This test covers staging/unstaging files that appear at the end of the index.
-+# Test files with names beginning with 'z' are used under the assumption that
-+# earlier tests do not add/leave index entries that sort below them.
++# 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.
+test_expect_success 'status succeeds after staging/unstaging ' '
-+ test_commit initial &&
-+ removed=$(test_seq 1 100 | sed "s/^/z/") &&
-+ touch $removed &&
-+ git add $removed &&
-+ test_config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-env" &&
-+ FSMONITOR_LIST="$removed" git restore -S $removed &&
-+ FSMONITOR_LIST="$removed" git status
++ 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-- gitgitgadget