New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
clean: demonstrate a bug with pathspecs #526
Conversation
/submit |
Submitted as pull.526.git.1579119946211.gitgitgadget@gmail.com |
On the Git mailing list, Kyle Meyer wrote (reply to this):
|
On the Git mailing list, Jonathan Nieder wrote (reply to this):
|
On the Git mailing list, Elijah Newren wrote (reply to this):
|
On the Git mailing list, Derrick Stolee wrote (reply to this):
|
On the Git mailing list, Derrick Stolee wrote (reply to this):
|
On the Git mailing list, Derrick Stolee wrote (reply to this):
|
b9670c1 (dir: fix checks on common prefix directory, 2019-12-19) modified the way pathspecs are handled when handling a directory during "git clean -f <path>". While this improved the behavior for known test breakages, it also regressed in how the clean command handles cleaning a specified file. Add a test case that demonstrates this behavior. This test passes before b9670c1 then fails after. Helped-by: Kevin Willford <Kevin.Willford@microsoft.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
38a9a1a
to
ce58722
Compare
On the Git mailing list, Elijah Newren wrote (reply to this):
|
On the Git mailing list, Junio C Hamano wrote (reply to this):
|
This patch series was integrated into pu via git@25f4715. |
This is incorporated into Elija's dir() fixes. |
While integrating v2.25.0 into the microsoft/git fork, one of our
VFS for Git functional tests started failing. Looking into it, the only
possible place could have been where one of our integration
points with the virtualfilesystem hook was moved by c5c4edd
(dir: break part of read_directory_recursive() out for reuse, 2019-12-10)
and then used in the following two commits.
By reverting these two commits, we stopped the failure, but it
took a while before figuring out that it was a regression in Git
and not a failure in our integration to the new logic. Thanks
to Kevin Willford for producing a test case.
b9670c1 (dir: fix checks on common prefix directory, 2019-12-19)
is the culprit, so this patch is based on that. If rebased to c5c4edd,
then the test passes.
As for actually fixing this regression, I don't know how. This code
is pretty dense and I don't have a firm grasp of what is happening
in both b9670c1 and the following 777b420 (dir: synchronize
tread_leading_path() and read_directory_recursive()). Elijah
is CC'd in case he still has context on this area.
V2 fixes a typo in the commit short-sha references.
Thanks,
-Stolee
Cc: Kevin.Willford@microsoft.com, newren@gmail.com