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

Reply via email to