Re: [PATCH jh/notes-merge-in-git-dir-worktree] fixup! t3310 on Windows
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Mar 14, 2012, 11:59 UTC
- Message-ID
- <4F60882E.90303@viscovery.net>
- In-Reply-To
- <CALKQrgdjYvkSBn8UORSsZecSVyhJbfU5tjU0hPJOYn1OMVxMyw@mail.gmail.com>
Am 3/14/2012 12:39, schrieb Johan Herland:
Show 37 quoted lines
> On Wed, Mar 14, 2012 at 09:39, Johannes Sixt <j.sixt@viscovery.net> wrote: >> From: Johannes Sixt <j6t@kdbg.org> >> >> On Windows, a directory cannot be removed while it is the working >> directory of a process. "git notes merge --commit" attempts to remove >> .git/NOTES_MERGE_WORKTREE, but during the test the directory was still >> "occupied" by the shell. Move the command out of the subshell to release >> the directory. >> >> Signed-off-by: Johannes Sixt <j6t@kdbg.org> >> --- >> Feel free to squash this into 1/2. >> >> t/t3310-notes-merge-manual-resolve.sh | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/t/t3310-notes-merge-manual-resolve.sh b/t/t3310-notes-merge-manual-resolve.sh >> index d6d6ac6..6351877 100755 >> --- a/t/t3310-notes-merge-manual-resolve.sh >> +++ b/t/t3310-notes-merge-manual-resolve.sh >> @@ -565,9 +565,9 @@ test_expect_success 'switch cwd before committing notes merge' ' >> ( >> cd .git/NOTES_MERGE_WORKTREE && >> echo "foo" > $(git rev-parse HEAD) && >> - echo "bar" >> $(git rev-parse HEAD) && >> - git notes merge --commit >> + echo "bar" >> $(git rev-parse HEAD) >> ) && >> + git notes merge --commit && > > NAK. This defeats the entire purpose of this test. The bug that we're > trying to solve is exactly the situation where the user has changed > into the .git/NOTES_MERGE_WORKTREE directory, and invokes 'git notes > merge --commit' from within. We need to find a different solution for > this on Windows. Maybe we should just abort 'git notes merge > --commit/--abort' if the current directory is within > .git/NOTES_MERGE_WORKTREE (and we're on Windows)?
Isn't this an indication that something *VERY* wrong is happening? How do you explain to POSIX people that you have just pulled the rug unter their feet?
$ git notes merge --commit $ git notes fatal: Unable to read current working directory: No such file or directory
I doubt that the use-case that is tested here makes sense.
Or .git/NOTES_MERGE_WORKTREE should not be removed. Would it be an option to clear it out only when it is needed, right before it is filled again?
-- Hannes