-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Move operation error "EXDEV: cross-device link not permitted, rename" #515
Comments
…oblem that source directory is not a full path that might cause a cross-device link error)
I have no idea how you were able to trigger that error because cross-device/EXDEV moves are handled with this code: Lines 47 to 55 in 928bb20
Resolving the path, other than checking to see if the source and destination are the same, shouldn't have any relationship with EXDEV. |
I generally report this issue when I move a file from drive D to drive T (which is my mounted RAMDISK). |
Do you have a node version and a stack trace? It's one thing for the |
I'm using nodejs Today I tried to provide more details, however I cannot reproduce the Preparation: Test 1: Move folder to same drive Test 2: Move folder to another physical drive
Test 3: Move folder to another virtual (mounted) drive
|
Ok, so that lines up with what I had said previously. A potential bug in copy. So this line is throwing: https://github.com/bdistin/fs-nextra/blob/master/src/nextra/copy.ts#L86 Can you throw a console.log above that isSrcKid check (in your node_modules\fs-nextra\dist\nextra\copy.js where you are testing this) to test what the resolved mySource and target are. They get path resolved in resolveCopyOptions; then directories are built off of the source and target (in startCopy) so you get the same folder name in the target directory. After that, it iterates through the directory and copies all items (files, directories, and symlinks) inside that directory to the directory just made. |
Here is the details before
It looks like Note that I believe there are 2 bugs in my usage.
|
I ran into problem with moving a folder for a physical drive to another (mounted) drive.
My application is running at
D:\
.fsn.move('source\dir', 'T:\target\dir')
The workaround is
fsn.move(path.resolve('source\dir'), 'T:\target\dir')
Here is my pull request
I checked the implementation of fsn.move, it seems
source
anddestination
are resolved on the fly, but not everywhere. Is there a particular reason for that?fs-nextra/src/nextra/move.ts
Lines 26 to 44 in 928bb20
The text was updated successfully, but these errors were encountered: