Hi Junio, I see that in the latest "what's coming" update, this patch series is listed as expecting reroll, but as far as I can see there have been no comments since I sent this V3 out. What should be my next step, if I think this is "as ready as I know to get it" without any comments on the latest submission? Thanks, Tao (Apologies to recipients of duplicate email in cc, I accidentally sent html email that the list rejected) On Wed, Mar 2, 2022, 07:05 Tao Klerks via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: > > Replace sleep calls with backdating of filesystem changes, but first fix the > test-tool chmtime functionality to work for directories in Windows. > > In this third version, a bug with inaccessible-path-handling that Jeff found > is fixed, and a relative-path-avoiding strategy that had been added in t7073 > is simplified out after Junio's comments revealed it was misguided. > > Tao Klerks (2): > t/helper/test-chmtime: update mingw to support chmtime on directories > t7063: mtime-mangling instead of delays in untracked cache testing > > compat/mingw.c | 23 +++++++++++++++++++---- > t/t7063-status-untracked-cache.sh | 21 +++++++++------------ > 2 files changed, 28 insertions(+), 16 deletions(-) > > > base-commit: 4c53a8c20f8984adb226293a3ffd7b88c3f4ac1a > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1166%2FTaoK%2Ftaok-untracked-cache-testing-remote-waits-v3 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1166/TaoK/taok-untracked-cache-testing-remote-waits-v3 > Pull-Request: https://github.com/gitgitgadget/git/pull/1166 > > Range-diff vs v2: > > 1: 7cdef0ad5fb ! 1: 052b3dd9bba t/helper/test-chmtime: update mingw to support chmtime on directories > @@ compat/mingw.c: int mingw_utime (const char *file_name, const struct utimbuf *ti > > - if ((fh = _wopen(wfilename, O_RDWR | O_BINARY)) < 0) { > + osfilehandle = CreateFileW(wfilename, > -+ 0x100 /*FILE_WRITE_ATTRIBUTES*/, > ++ FILE_WRITE_ATTRIBUTES, > + 0 /*FileShare.None*/, > + NULL, > + OPEN_EXISTING, > -+ attrs & FILE_ATTRIBUTE_DIRECTORY ? > ++ (attrs != INVALID_FILE_ATTRIBUTES && > ++ (attrs & FILE_ATTRIBUTE_DIRECTORY)) ? > + FILE_FLAG_BACKUP_SEMANTICS : 0, > + NULL); > + if (osfilehandle == INVALID_HANDLE_VALUE) { > @@ compat/mingw.c: int mingw_utime (const char *file_name, const struct utimbuf *ti > aft = mft; > } > - if (!SetFileTime((HANDLE)_get_osfhandle(fh), NULL, &aft, &mft)) { > ++ > + if (!SetFileTime(osfilehandle, NULL, &aft, &mft)) { > errno = EINVAL; > rc = -1; > 2: 3e3c9c7faac ! 2: dceb2857609 t7063: mtime-mangling instead of delays in untracked cache testing > @@ Commit message > Signed-off-by: Tao Klerks <tao@xxxxxxxxxx> > > ## t/t7063-status-untracked-cache.sh ## > -@@ t/t7063-status-untracked-cache.sh: sync_mtime () { > - find . -type d -exec ls -ld {} + >/dev/null > - } > - > -+chmtime_worktree_root () { > -+ # chmtime doesnt handle relative paths on windows, so need > -+ # to "hardcode" a reference to the worktree folder name. > -+ test-tool -C .. chmtime $1 worktree > -+} > -+ > - avoid_racy() { > - sleep 1 > - } > @@ t/t7063-status-untracked-cache.sh: test_expect_success 'setup' ' > cd worktree && > mkdir done dtwo dthree && > touch one two three done/one dtwo/two dthree/three && > + test-tool chmtime =-300 one two three done/one dtwo/two dthree/three && > + test-tool chmtime =-300 done dtwo dthree && > -+ chmtime_worktree_root =-300 && > ++ test-tool chmtime =-300 . && > git add one two done/one && > : >.git/info/exclude && > git update-index --untracked-cache && > @@ t/t7063-status-untracked-cache.sh: test_expect_success 'create/modify files, som > - rm base && > + test-tool chmtime =-180 done/two done/three done/four done/five done && > + # we need to ensure that the root dir is touched (in the past); > -+ chmtime_worktree_root =-180 && > ++ test-tool chmtime =-180 . && > sync_mtime > ' > > > -- > gitgitgadget