With the odrive1 I have a lot of troubbles; I’m a programer, and practically when i program , i use to do it in a odrive sync folder, but the sync is so fast! and sometimes, it blocks the file when i try to compile it, etc… So, the main thing is that when you use the sync with archives that your want to use it in a “live” form, it’s so embarassing to have to exit odrive and then launch it again. So maybe the sync program would be able to detect de program files like .cpp .py, etc… And make the sync more inteligent on that kind of files.
I used to keep my source code in cloud storage as well, but ran into many of the same issues it seems you are describing. Ultimately, I solved this by simply moving my code outside of cloud storage, and using version control - which is purpose-built for this kind of interaction.
Git and Mercurial are both distributed version control systems (DVCS) which can be used for this. I personally use Git with Sourcetree to manage my code, interacting with Github, Gitlab, and Bitbucket, however there are many options to choose from in this space.
Some of my “super important” repositories are also stored in cloud storage, but only a “snapshot” copy, of a particular point in time, rather than a “live synched” version.
If you don’t mind me asking, what version control system(s) are you currently using, if any?
I do the same. I use cloud storage as a backup concurrent to SCM tools. Sort of a safety net, and simplification of
Not sure what you mean by blocking the file for compilation. If your filesystem has a built-in locking mechanism, as most due, oDrive only seem to lock while syncing. And source code files shouldn’t be so large that the sync should take very long. I bring this up to give some context when I ask if you could clarify what you mean by “blocking the file for compliation”.
Rather then having to exit oDrive and restart, there is an option in the System Tray icon “Ready to sync new changes” -> “Stop Automatic Sync” that will pause syncing while you work.
Yep, I already know about the git, but I only use it in projects like apps, etc… But I program more on Competitive Programming, so I use to have a directory in my pc where I save my codes, but in this case, for the competitive, I don’t need to have a version control, because I only program it once and then I only access it if I need it on the future. Thats why I sync my codes with odrive, because the onedrive sync never works well, it deletes the newer versions with the old server version, so the thing is that when I program, I save it, and then run my program on the console to compile it, so the compile action is consecutive to save the file, and when I compile I got an error, and it is because odrive is syncing the file, and it is annoying when you’re solving a problem, but I don’t work in other directory cause I always forgot to change the directory and then when I need to free space I always erase everything except odrive, and I don’t like to stop odrive cause then I forgot to run it again hehe. Thats why I think that if you’re editing something and saving it a lot of times, maybe odrive should wait just a little time of another program editing or using it, to sync the changes.
Thanks for the discussion everyone. I think the general idea for setting a sync delay, or scheduling sync (vs real-time) can be valuable features for some use cases. I have updated the title of this thread to better keep tabs on this.