Home > Blockchain >  DVC Shared Windows Directory Setup
DVC Shared Windows Directory Setup

Time:01-03

I have one Linux machine and one Windows machine for developments. For data sharing, we have set up a shared Windows directory in another Windows machine, which both my Linux and Windows can access.

I am now using DVC for version control of the shared data. To make it easy, I mount the shared Windows folder both in Windows and in Linux development machine. In Windows, it looks like

 [core]
    analytics = false
    remote = remote_storage
['remote "remote_storage"']
    url = \\my_shared_storage\project_dir

In Linux, it looks like:

[core]
    analytics = false
    remote = remote_storage
['remote "remote_storage"']
    url = /mnt/mount_point/project_dir

As you can see, Windows and Linux have different mounting points. So my question is: is there a way to make that both Windows and Linux have the same ùrl in the DVC configuration file?

If this is impossible, is there another alternative solution for DVC keeps data in remote shared Windows folder? Thanks.

CodePudding user response:

If you are using a local remote this way, you won't be able to have to the same url on both platforms since the mount points are different (as you already realized).

The simplest way to configure this would be to pick one (Linux or Windows) url to use as your default case that gets git-committed into .dvc/config. On the other platform you (or your users) can override that url in the local configuration file: .dvc/config.local.

(Note that .dvc/config.local is a git-ignored file and will not be included in any commits)

So if you wanted Windows to be the default case, in .dvc/config you would have:

 [core]
    analytics = false
    remote = remote_storage
['remote "remote_storage"']
    url = \\my_shared_storage\project_dir

and on your Linux machine you would add the file .dvc/config.local containing:

['remote "remote_storage"']
    url = /mnt/mount_point/project_dir

See the DVC docs for dvc config --local and dvc remote modify --local for more details:

  • Related