Message ID | pull.1166.v3.git.1646201124.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Reduce explicit sleep calls in t7063 untracked cache tests | expand |
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@gmail.com> 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@klerks.biz> > > ## 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
Tao Klerks <tao@klerks.biz> writes: > 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. I see <v2> reference on the source: line for that topic in the "What's cooking" report you are referring to, so I suspect I have been too busy and haven't got around to replacing it with <v3>, perhaps?
Eek, my apologies. I will remember to check that! On Sun, Mar 6, 2022 at 10:57 PM Junio C Hamano <gitster@pobox.com> wrote: > > Tao Klerks <tao@klerks.biz> writes: > > > 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. > > I see <v2> reference on the source: line for that topic in the > "What's cooking" report you are referring to, so I suspect I have > been too busy and haven't got around to replacing it with <v3>, > perhaps? >
Tao Klerks <tao@klerks.biz> writes: > On Sun, Mar 6, 2022 at 10:57 PM Junio C Hamano <gitster@pobox.com> wrote: >> >> Tao Klerks <tao@klerks.biz> writes: >> >> > 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. >> >> I see <v2> reference on the source: line for that topic in the >> "What's cooking" report you are referring to, so I suspect I have >> been too busy and haven't got around to replacing it with <v3>, >> perhaps? >> > Eek, my apologies. I will remember to check that! No need to apologize. It often happens that I forget to update the status of a series after a new iteration replaces the old one when sending out a new issue of the "What's cooking" report. It is very much appreciated to be watchful and report such mistakes when you notice it. This time, it turns out that what happened was that I updated the "What's cooking" report and sent it out, and then continued working for the rest of the day to queue new topics and replace existing ones. And when you pinged me, I already had <v3> queued. To me, judging from the exchanges between you and Jeff Hostetler, the topic at v3 seems to be ready for 'next', so let me mark it as such in the draft of the next issue of "What's cooking" I keep locally. Thanks.
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@klerks.biz> ## 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 '