You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I based this off the test case for #2268. I ran this in an empty directory to init a repository and create a circular junction. Then the git clean -dfx will generate an unwanted warning.
What did you expect to occur after running these commands?
I expect the mountpoint/ junction point to be removed without warnings.
Initialized empty Git repository in <absolute-path>/with-mountpoint/.git/
Junction created for with-mountpoint\mountpoint <<===>> target
Junction created for target\cycle <<===>> with-mountpoint
Removing mountpoint/
What actually happened instead?
A warning is displayed during git clean, I believe for too long filename (by trying to enumerate a cycle of junction points).
Initialized empty Git repository in <absolute-path>/with-mountpoint/.git/
Junction created for with-mountpoint\mountpoint <<===>> target
Junction created for target\cycle <<===>> with-mountpoint
warning: could not open directory 'mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/mountpoint/cycle/': Function not implemented
Removing mountpoint/
If the problem was occurring with a specific repository, can you provide the
URL to that repository to help us with testing?
Above steps can reproduce with new repository. It will likely occur for any repo with circular npm dependencies that are locally linked which create junctions automatically. Although these are not desirable, I would expect that git clean would not even try to traverse these paths as indicated in the docs.
The text was updated successfully, but these errors were encountered:
do build it first, using sdk cd git && make -j$(nproc)
you can run the just-built git.exe without installing it via /usr/src/git/git.exe --exec-path=/usr/src/git [...] (prefix that with gdb -args to run it in gdb)
put a breakpoint on warning() via b warning (I believe)
start it in gdb via r
once it stops, look at the stacktrace via bt
you can even navigate the stacktrace via up and down and look at the source code via l and inspect variables via p <name>
Setup
defaults?
to the issue you're seeing?
Using npm with circular dependencies.
Details
Bash
Minimal, Complete, and Verifiable example
this will help us understand the issue.
I based this off the test case for #2268. I ran this in an empty directory to init a repository and create a circular junction. Then the
git clean -dfx
will generate an unwanted warning.I expect the
mountpoint/
junction point to be removed without warnings.A warning is displayed during
git clean
, I believe for too long filename (by trying to enumerate a cycle of junction points).URL to that repository to help us with testing?
Above steps can reproduce with new repository. It will likely occur for any repo with circular npm dependencies that are locally linked which create junctions automatically. Although these are not desirable, I would expect that git clean would not even try to traverse these paths as indicated in the docs.
The text was updated successfully, but these errors were encountered: