1.) How does moving .cloud files between synced locations works, and 2) is there a way to change the root folder?

Hi, Tony, you guys have been phenomenally helpful in the past, so I figured I’d just ask this question after failing to find it in the documentation.

  1. What happens when a .cloud file is moved between two locations inside of the sync’d odrive folder?

Say I have FileX.cloud that I want to move from Folder A to Folder B, and have the actual file on the cloud also be moved from Folder A to Folder B. Folder A and Folder B are both on the same cloud drive, and both are sync’d to zero kb, so I can see the contents of the folders, but they’re all .cloud files.

To move FileX.cloud, do I need to fully download FileX, then Cut and Paste it over from Folder A to Folder B, and then unsync back to FileX.cloud when it’s done uploading? Or can I just Cut FileX.cloud and paste it into Folder B, without syncing, and then let oDrive realize the file has been moved instead of deleted from one folder and uploaded to the other?

Can you move around .cloud files and rely on oDrive to move them on the cloud storage, or do you have to sync, move, and let it reupload. What happens to the file on the cloud if you just move the .cloud file from one location to the other? And if I move it, and then try to have it sync in the new folder, what happens then?

  1. Is there a way to change the root location that odrive mounts from the cloud?

By default, oDrive is set right now to load the root directory of my Google Drive, which is full of a bunch of stuff I don’t care about. I really only want to mount a folder called “Local” on my local HD; everything in the folders above that on the cloud are not important for having locally. Is there any way to mount Local directly as the root directory locally for oDrive? Some way to have oDrive load a specific path?

i.e. Instead of mounting Google/My Drive/ as my root oDrive directory, it mounts Google/My Drive/Local/

Hi @ar.stanton,

When you move a file or folder from one location to another, odrive can only observe this through the changes in the filesystem. In this case, it will try to find the association with the “delete” at old location and the “add” in new location. If it is able find an association, it optimizes that as a move action, as long as moving is a valid action (not across storage or across some in-storage boundaries.

Depending on a lot of different factors, odrive can miss the optimization and not associate an add in the new location with the delete in the old location. In that case it can’t optimize the operation as a move. Instead it will process it as an new file/folder add in the new location and a file/folder delete in the old location.

In short, odrive tries its best to optimize for moves, but it isn’t always able to do that. The best way to ensure that the operation is successful is to download the content you want to move, first. This will ensure that, regardless of the operation or if the move is across boundaries, your content will be put in the new location and removed from the old location.

You can’t link your storage at a deeper level, but you can use “sync to odrive” to simulate this. When creating a “sync to odrive” folder, you can choose to create the mapping at any level.

This means you would stop using and unsync the default storage link (e.g. odrive\Google Drive) and create a “sync to odrive” folder that maps a local folder to the remote folder you want to start in (e.g. C:\folder2 ↔ Google Drive\folder1\folder2).

@ar.stanton , I was wondering why you wanted to change the root location… is it because you mainly work with a specific folder that is down a deep folder structure so it’s a pain to click down all the time? If so, you can just drag the folder in Windows Explorer to the left pane as a pinned favorites shortcut.

If it’s something more complicated, the “sync to odrive” feature that @Tony recommends could work.

You can also create a Space for the storage (see Share with odrive). Spaces are normally used for sharing a specific folder from a linked storage account with others, but you could conceivably create a Space that only you will use yourself.

1 Like

Thank you, Tony, for the excellent explanation and help, as always. Two follow-up questions, then:

  1. re. what happens when a .cloud file is moved.

I understand that it might not be able to optimize the move if it misses the delete in the old location, and the add in the new location. That seems like a reasonable attempt at optimizing, and makes sense. I’m still unclear, though, on what happens if it detects the newly moved .cloud file in the new location and then does not match it to the delete. Does it upload and store the 1k .cloud file to the cloud in the new location?

It doesn’t sound like it would know to download and reupload the file it points to to the new location automatically, so presumably if it misses the move, it doesn’t have anything to upload. Does that mean that the file is deleted from the old location, but then nothing is uploaded to the new one?

I don’t mind downloading and uploading again, but that gets a bit difficult if it’s a 20GB file.

  1. re. using “sync to odrive” to create a new root.

I had thought of this as well, but I don’t know how to do this with an existing cloud folder. I can create a new empty folder on the cloud, and sync it locally, and then move everything in the cloud from one folder to the other, but that seems a bit risky. I’ve lost data before during large moves, and am always a bit nervous about it.

is there a way to sync a local folder to an existing folder in the cloud, instead of creating a new empty fold, if that makes sense?

I have a third question about an old issue I’m facing, but will go back to the thread there so there’s context.

Thank you again for everything.

Aaron

Hi, Jeff - I’ll take a look at spaces for this use. Maybe that’s a good solution.

To answer your question, though, it is partly that I only live locally in a folder that’s fairly far down the directory structure. I use Google Drive as a long term backup, and then also as a sync’d “live memory” to save storage space locally. I don’t really like having all of the root files that Google Sheets, docs, etc, stores in a messy root of Google Drive symlinked on my folder. Just seems unclean. haha.

But the reason I actually need a solution to it is that I work with machine learning a lot, specifically in the publishing industry. I work with a lot of really, really long file and folder names. Book ISBNs are 13 digits long, then the machine learning tools automatically tag additional information onto each file and folder as part of how it organizes the data for analysis.

I recently lost a fair amount of data trying to migrate from Amazon Drive to Google Drive because the nested file structures had too long, more than the 260 character limit on Windows 11. When the files were created on the original system they were not too long. But then they were backed up and moved to a backup location. When I tried to pull them down, the length of those files were added to the additional characters of the odrive.

So, for example, I’d originally installed oDrive’s folder in my Documents directory. So the initial file locations was at: "C:\Users\arsta\Documents\odrive\Google\local"

That’s 45 of my 260 characters just to get to the root working directory. The backup files were then located in “Work Related\Companyname\Backups\Projects\ISBNA\etc\etc\etc”

All the files and folders at the tail end of that were being dropped, and I was ending up with all of these empty folders.

So, I moved the odrive as close to the computers root level as possible, so now it’s "D:\odrive\Google\local"… but I still can’t fully download everything. I’ve shortened every directory in the path that I can, and there are hundreds of thousands of the actual working files that I can’t change the names without breaking things. haha.

So… that’s the motivation. I was just hoping there’d be an easy way to mount the odrive at a specific folder, so that it could just be D:\odrive, and that would automatically monitor the contents for Local\ onward.

1 Like

Hey, guys, I’d still like to know the answer to this, if it’s possible, but I figured out a solution to my problem.

Turns out that you can remove the 260 character limit in Windows 11 by editing the registry. So, the main reason I wanted this is less now. Though, I still think it would be feature parity with remote mounting tools to be able to select the folder to mount to odrive’s root.

On a side note, Jeff, I did check out Spaces. It was a good idea, and would have helped some. Unfortunately, because you have to have “Spaces” in the name as well as the name of the space itself (i.e. D:\odrive\spaces\home") it helps, but not quite the same as just D:\odrive\ mounting to a specific folder.

It does get rid of the stupid Google Drive root files, though. Is there any meaningful difference between using a Spaces folder vs. my root oDrive folder for my data?

Thanks,

Aaron

1 Like

Hi Aaron,

There shouldn’t be any functional difference between using a Space vs. going through your root odrive folder. There may be a slight performance difference since the transfer goes through a gateway to ensure authorized access, so this could add up when downloading hundreds of thousands of files initially. But once you’ve got everything synched locally I don’t think there would be much of an impact.

Enabling long windows paths seems like it solved your problem, though, so I’m glad you are up and running again!

-Jeff

Hi @ar.stanton,
The issue you are describing with long file paths sounds odd, since odrive is generally able to access long paths without any issues, even if Windows Explorer has issues with it.

When you say you “can’t fully download everything” because of long paths, that sounds like something that I wouldn’t expect, unless you are performing the download in an unexpected way. If you are doing a right-click->sync on the folder and choosing to perform a recursive download, odrive utilizes a path escaping method on the filesystem to address paths longer than 260 characters, so those files should download.

For example, here is a test I just did on a vanilla Windows 11 system for downloading a very long path (from the sync activity log):
19 Mar 02:29:34PM INFO Successful Download File for Item: C:\Users\serveradmin\odrive(1)\Google Drive\Long Paths\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\Here is a very long name that can be used for testing purposes. There is exactly 100 characters here\test.txt.cloud - Size: 7 Bytes - Date: 2024-03-19 14:29:00

This path has close to 700 characters.

You will get a pop-up stating that odrive has found an invalid placeholder file. The pop-up instructs you to download the files, first, and then retry the operation. In this case you will need to restore the items in the original location from the odrive trash.

Thanks, Jeff, I’ll consider switching over to this if it bothers me much. Appreciate the time on it.

1 Like

To be honest, this is a problem I was facing a fair while ago, when Amazon Drive first announced they were shutting down and I had to migrate to Google Drive. I don’t remember the details of the errors, or why I decided it was the file name length, for sure.

However, I remember it as being a windows problem, not an oDrive problem - that the error was coming from Windows. These were files that were created on a non-Windows system, and then had been backed up years ago to Amazon Drive. I have no idea how long the path names were, but it’s technically possible they could have been … almost any length. haha.

For whatever reason I decided it was file name length at the time, shortening the path names did fix the issue. Again, this is quite a while ago, but it took quite a bit of time… every time I could cut 5 characters off a folder name, etc, X number of more files could download, etc. Was finally able to cut it all down enough that they all did download (I think) or I gave up on them all together. I didn’t realize I could extend the 260 character limit, but assume that would have affected it.

I’m not sure why you’re able to have a 700 character path name on your system when I wasn’t. But I just copy and pasted the file name you used and tried to create a .txt file on my local drive with it, and it didn’t work. It truncated it to 247 characters. I assume that the rest of the path was the difference between it and 260.

Again, though, it wasn’t a limit in odrive, or the cloud, but the ability for the file to actually be stored in a directory after download by Windows if the total path name exceeded the 260 limit.

But again - this isn’t a new or current issue for me. It was in the past, and so was hoping to have a local mount option, just because it’s graceful, not because I can’t do anything right now that I need to. :slight_smile:

Thanks again,

Aaron

1 Like

Yeah, trying to copy or create stuff in a long path will fail in Windows Explorer under normal circumstances. odrive is able to write to long paths by using a particular method of escaping the paths. This means you can browse into very long structures within odrive, download, edit, delete, etc, but you can’t create new files in those paths, since Explorer won’t allow it and that is what is used when creating or copying things.

In any case, it sounds like you have things sorted-out, which is great! Just let us know if anything comes up.