6 ms·
> And to everyone that says you should not store code in dropbox: a) there are good and legitimate reasons for doing so I'm genuinely curious: why do this, as
by davedx 13y ago
> And to everyone that says you should not store code in dropbox: a) there are good and legitimate reasons for doing so
I'm genuinely curious: why do this, as opposed to using a DVCS like git?
- stinos 13y agosame question here. If you can get free private git repositories on services like bitbucket, it's sort of a mystery to me why one would want to lose true versioning and go with plain backup instead.
- snom380 13y agoYou can have both. If you put your working directory in Dropbox you will have a copy of your uncommitted work as well. Also, in many cases it is easier for a graphic designer or just a customer to put stuff in a Dropbox folder that will sync to their website, than uploading stuff using a web form or learning to use git and X amount of deployment tools.
- rickyc091 13y agoI'm part of the camp that uses both Dropbox / Git for my development work. I've actually had Dropbox save me a few times due to nasty rebases. For a lot of one off scripts, I don't really commit them into git so that's where it comes in handy. The extra redundancy doesn't hurt...
- duncan_bayne 13y ago> The extra redundancy doesn't hurt... ... unless you're running on batteries.
- robryan 13y agoAs opposed to there probably aren't really good reasons. Doing it in addition to source control seems like something everyone should do though. The way people generally use source control isn't to push every single line added or changed to a remote copy of the repo as soon as it is done. A commit is more tied to completing a task, you need something else to cover you for loss for smaller amounts of code than that if your computer dies.
- dhimes 13y agoThis is apparently the subject of some debate. More specifically to me, it depends on what branch I'm on. If I'm on dev, I have no problem with big commits. (For features I'll often set a bookmark [hg]- maybe even clone and work from the clone if it's risky). But if I'm on test or hotfixing on stable, I use very small commits so that I can easily graft (backport) back to dev. But at the very least I have more than one commit message like -FIX blah blah commit so can get from <name of other machine>
- snom380 13y agoOne advantage is near-instant sync between many computers. With a VCS you have to push and pull manually or set up some complicated cron jobs to automate it.
- SurfScore 13y agoDropbox revert to previous versions has saved my ass multiple times when something goes wrong in Xcode that I can't undo.
- fredoliveira 13y agoXcode has built-in git support which you should use.
- SurfScore 13y agoI'm talking weird glitches like a nib gets corrupted and I've made enough changes to matter but haven't committed anything yet
- 501 13y agoThat sort of glitch sounds like the kind of thing Dropbox does (did?) from time to time because it's not aware of bundles. (For those unaware, on OS X many files are actually folders, eg: http://en.wikipedia.org/wiki/Rich_Text_Format_Directory http://en.wikipedia.org/wiki/Rich_Text_Format_Directory)
- jwr 13y agoI do use git. But I often develop on two machines: a laptop and a Mac Pro. Which means I am often in the middle of something when I have to just pick up the laptop and go. "In the middle of something" means that just pushing commits over doesn't cut it. I can (and do) rsync stuff over, but that is annoying and very error-prone (it's too easy to sync stuff the other way around and lose work). I guess you could say Dropbox gives me finer sync granularity than git does. Dropbox seems like a perfect solution: have a single place where you keep code, develop on two machines, just pick up your laptop and leave whenever you want, without worrying about sync.
- timtadh 13y agoI don't understand. You can easily cut a branch commit. Push the branch. Pull the branch finish it. Commit. (optionally rebase). Delete the temporary branch. Git handles this problem very well.
- jasonlotito 13y agoYou don't understand or you didn't spend ti e thinking about that. It's doing all those steps, or doing nothing and achieving the same result. Not sure what you don't understand.
- jwr 13y agoRight. I get a call, I need to leave for a meeting in 5 minutes. This is exactly the time when I want to cut branch commits, push branches, pull branches, commit and rebase. Even rsync is better than that. Put it another way, I don't understand why you'd use Dropbox at all, after all you could easily version all your files in git, using push/pull/branch/commit/rebase to get your data to your different machines. Git handles this problem very well, after all.
- timtadh 13y agoI don't use dropbox at all? To me it is a great solution for consumers but my needs are different. I use git + standard unix tools. For backup I use tarsnap. It rocks.
- columbo 13y agoI use dropbox as a client facing equivalent of FTP. That way the client can have programmers/designers change their UI without needing any access into the server. It also allows me to share each site and doesn't bring the entire headache of managing accounts. I simply share the yoursite.com folder to the client. If a client has multiple sites it's just as easy to share all of them.
- Wintamute 13y agoMy entire work folder is inside my Dropbox. Most of those projects are under Git version control, other temporary folders, toy projects and bits and bobs are not. This way my work folder is nominally backed up and synced across my machines. I wouldn't advocate using Dropbox as the only/primary backup and version control for important projects, but its totally legitimate to have code inside of a Dropbox.
- nicoschuele 13y agoMy point exactly.
- ajuc 13y agoI use both dropbox and git for my home projects. I sometimes develop on my desktop, sometimes on my wifes laptop, and sometimes remotely on another server through ssh, and I don't want to commit/add stuff to the git index just because I move from one computer to another. I could do this with branches, but it's too much hassle when I just want to shut down computer. So I work on a directory that is in dropbox, and in git, and I can instantly shutdown my PC and start writing code on the laptop. Commiting changes is a separate step. It's quite convenient. Also I can test the code by accessing dropbox public link (it's mostly javascript and static websites), and there's no separate "deploy" step - when I save a file on any computer the change is ready to be tested, always at the same place. With git I would need to remember to commit, and update before I test, or I would need to set up a test server on every computer, and depending on where I work I would need to access different address. The difference between 15 seconds and 0 seconds to test small change is VERY significant.