Hi,
Thanks for this recent article about Dropbox:
https://support.rstudio.com/hc/en-us/articles/200534477Using Dropbox with RStudio Projects
However, the advice about using Selective Sync will remove the .Rprojuser and .git folders from your computer (Dropbox will keep its cloud copy). So I hesitate to do this because this seems like it would destroy the project/git. It is only possible to exclude/ignore individual files with this hack: https://superuser.com/questions/469776/how-to-exclude-files-not-folders-from-dropbox-sync but not whole folders.
Maybe I need to make a copy, do Selective Sync, and then re-add? Or similarly, do Selective Sync, and manually download back to the folder? If this is what RStudio meant in its support file (above link), this extra step should be clarified.
Also, advice for Box Sync and Google Drive etc. would be helpful. It appears "Unsync" in Box Sync will also delete the computer copy and keep the cloud copy. So this won't work either. (unless, perhaps, I manually download and re-insert the .Rprojuser and .git folders)
Conclusion: It does not appear that Dropbox or Box Sync have "ignore" functions and RStudio projects/git and Dropbox/Box Sync don't play well together
UPDATE: the manual re-adding works for Dropbox. I Selectively [Un]Sync'd, then manually re-added the .git and .Rprojuser folders. The local copy of .git and .RProjuser are now free to be modified by RStudio without Dropbox's interference.
So my only remaining request is for RStudio to clarify this extra step involved after unsyncing in the support page: https://support.rstudio.com/hc/en-us/articles/200534477Using%20Dropbox%20with%20RStudio%20Projects
Arthur
3 Likes
I see RStudio attempted to address this back in 2013 (!)
https://support.rstudio.com/hc/en-us/community/posts/200629398-RStudio-Git-and-Dropbox-problems-syncing-rapidly-re-appearing-git-index-lock-file
https://support.rstudio.com/hc/en-us/community/posts/200629848-Dropbox-lock-file-Rstudio-issue
But Dropbox's "Selective Sync" and Box's "Unsync" don't seem to work for this purpose. They will remove your computer's local copy and keep the cloud copy (instead of the other way around).
It works great for me. The only part of my work that is not saved to the cloud are the contents of the .Rproj.user folder. It is normally a hidden folder with no content that I have needed to be saved repeatedly. Everything else (i.e., my data, scripts, and documents) is saved in the cloud as intended.
Does RStudio recreate the .Rprojuser folder right after Dropbox/Box deletes it from your local computer? Did you use the Selective Sync procedure? I attempted it and Dropbox told me "your files will be deleted from your computer and remain accessible from the web"
Yes. I used the selective sync. So my entire folder is synced except for the hidden .Rprojuser folder. All the files I care about are still there.
OK, maybe the .Rproj file contains all the actual items you need and the .Rprojuser folder can be deleted / Selectively Synced without a problem.
However, I'm pretty sure this won't work for the .git folder, since there are needed files in there. Maybe if I make a copy, then Selective Sync it (remove from local computer), then move it back?
OK, I used selective sync for .git and .Rprojuser but only after making a copy, so that I could re-add them, since I need the git folder. After re-adding, Dropbox continues to ignore it (maybe it's based on the folder name?) so everything is working fine now.
Thanks @w.joel.schneider for letting me know that it worked for you.
2 Likes
@peregrineay your solution (copy subfolders, selectively unsync, re-import subfolders) made sense to me but it hasn't worked for me, unfortunately.
Once I had un-synced the folders, I then re-imported the folders and Dropbox immediately added them again. The folders are now called .Rproj.user (Selective Sync Conflict)
and .git (Selective Sync Conflict)
. If I unsync them again, they will just be removed from my local machine again.
Because Dropbox is now syncing the reinstated folders again, this won't solve my problem which is outlined here: The process cannot access the file because it is being used by another process (and here)
1 Like