I have an existing project that was initialized at the git root with a single .dvc directory.
Are there going to be any gotchas or unexpected behavior if I want to refactor this by running “dvc init --subdir” in a couple of subdirectories to create subprojects with their own cache directories and remotes? If I understand things correctly, I can:
- Update my cache and ensure no one will push changes to remote while the steps below are done
- Run
dvc init --subdir
in a subdirectory that I want to turn into a subproject - Set cache dir to the same as the root project, set the remote to the new remote for this subproject
- Run
dvc push
to copy current versions of all files in the subproject to the new remote - Change subproject cache dir to its new path
- git commit and push
Anything I’m missing?
One confusing issue will be that dvc commands will have a different scope depending whether a developer is on a commit upstream or downstream from this change.