Using google drive as project repo...

Answered

Good morning,

I use multiple systems (and platforms, OS x, Windows, Linux) and locations for development work (working towards completely remote) and thought utilizing a cloud based storage source for my project code would be an obvious fit.

I'm beginning to think otherwise, or at least my approach must be flawed.

I have a wad of storage in google drive so I thought that would be a good source to try this. I run Intellij from the local system, where I have mounted the google drive, generate my projects on this drive and do my coding.

First issue I've run into (I believe) is the syncing behavior from changed/added files. The three platforms appear to have varying degrees of latency and approaches on caching local vs. remote state. This seems particularly problematic from my Linux (Ubuntu 16.04) system. I'm virtually unable to load much of anything, much less perform npm and other tool operations against the repo, it's just too painfully slow. Mac and Windows seem a bit more performant, and I have had mild success in working with these platforms, but the syncing from the Mac (or lack thereof) dropped a bunch of work when I came back to it from my Windows system later in the day.

All this said, has anyone had success in using a cloud base storage system in this capacity? Doesn't necessarily have to be google (though as mentioned, I have a wad of free storage I obtained from a Chromebook purchase)? I have read where a totally cloud based IDE solution could be used, but I like my Intellij and would prefer to continue using it if feasible. I'd hate throwing any more time at this if I'm completely off base andI could leverage the experience others.

thanks,

Karl

 

1
8 comments

Please consider using a version control, like Git.

1

Hi Serge,

Well, I am using git. My motivation is to reduce as much resource footprint on the host system as possible so I want to use the cloud storage as basically a mounted drive.

Initially I was looking to have a completely "disc-less" environment so I could theoretically use my chromebook for development but even this came with a 128g ssd drive so it can store (and with crouton, run a linux image) and run my development tools.

So a typical scenario would be to clone a git repo to a virtual cloud drive and open it from there with Intellij.

0

IntelliJ IDEA has to index all the files, therefore google drive will download them all anyway into the local cache. This will not save you any space.

0

oh... that explains what I was seeing yesterday. hmmm.

0

Ya'll really need a cloud based version of Intellij, love the product and features and would continue to use with a paid subscription, but this is forcing my hand to change to something like cloud9. 

0

I have a similar question but perhaps with a different objective.

I work on MacOS.  Most of my work is on a desktop (iMac) but once a week I'm out and about and use my MacBook.

For a while things were working very satisfactorily by simply storing the project on OneDrive and opening it from either machine.  OneDrive syncs pretty well in the background and everything is automatically under version control so you can go back to previous versions.

However, it occurred to me that I ought to be using proper source control (and Git seemed the obvious choice).  So I created a repo from my OneDrive directory and was grateful for the discipline of commits etc.  However the problem (which I should obviously have foreseen) presented itself when I picked up on the laptop.  I was basically using two synced copies of one Git repo, each synced copy pulling and pushing to the GitHub master, and when changing from one machine to the other, a whole load of changes were reported that needed to be committed, despite the files being identical.  This would flip-flop: when changing back to the other machine, an identical list of files popped up for commit, but when viewing compare all contents were identical.  I think I must have created some sort of irresolvable recursion within PyCharm's management of Git.

I then tried moving the project off OneDrive and just relying on Git, but now the problem I have is that if I ignore workspace.xml, my run configs (and other bits and pieces) aren't synchronised, which is a bit of a pain for continuity.  If I don't ignore it, I get conflicts every time I change machines, because PyCharm writes to the file on exit.  That means I have to separately commit changes after I've quit the app, and if it's running on both machines at once I get into even more trouble.

One might argue that using Git is overkill for a lone developer but in the end I'm working on a system for a client and they own the IP, so I need to get the discipline right and having everything on Git seems like the right thing to do. 

So is there a "recommended" solution that will allow me to basically keep the .idea directory in sync outside of Git (last update wins is fine) but keep the source itself under source control?  I thought about moving the project itself back onto OneDrive, and using a symlink to a local Git repository folder for the source, but I don't know how PyCharm/Git will interpret that.  I also thought about a symlink to the .idea directory from within a local PyCharm project folder (otherwise controlled with Git), but I worry that will result in the same sort of issues as I was having with the entire project hosted on OneDrive.

Can I be the only person wanting to use source control but also wanting a seamless IDE experience between machines?

Any advice gratefully received!

2

You should keep the configuration files you need in Git, see https://intellij-support.jetbrains.com/hc/articles/206544839. Run configurations can be shared so that they are not saved in workspace.xml: http://stackoverflow.com/a/3136255/104891.

2

Brilliant.  Many thanks Serge

1

Please sign in to leave a comment.