I've used dropbox+git for sometime [1]. It throws "conflicted copy" error [2] when two people push to origin at the same time. Bitbucket much better than dropbox, but not as awesome as github.
I also wonder why so many people forget about bitbucket. To me really it's the matter of taste, and there is certainly less differences between github and bitbucket than there is between git and mercurial.
AFAIK thanks to the hashing used with git there is very little chance of corruption. The filenames are 32bit hashes so the probability of collision between the hashes of two given files is 1 / 2^32. The probability of collisions between any of N given files is (N - 1) / 2^32.
I managed to screw up a git repo in Dropbox. I believe it was by making a commit on a non-connected computer than making another commit before the first one had synced to dropbox.
It was not the end of the world, but I would not recommend storing git repo in dropbox. If it's really something so small and insignificant that it doesn't need a git repo, then just put it in dropbox. If you want to use git, take the time to set up a proper repository.
If you have multiple users use different branches, I think this page was written from the perspective of a single coder that needs to keep track of his own code in a safe way.
It can, yes. It's relatively rare though. The nice thing about git is that, when it happens, you can just nuke the Dropbox repository and rebuild it without losing anything. Git's checksums guarantee that the corruption results in an error and not bad data.
Honestly, I just keep my checked out copy in Dropbox. If it's something I feel like keeping private, I just don't push it anywhere. Even less effort involved.
If you have a working directory checked out in ~/Dropbox, beware of multi-machine madness. I've run into issues with a git repo in ~/Dropbox + IntelliJ + multiple computers -- if you leave IJ running on a machine you're not using, it'll notice file changes and re-index things in git. This can, in turn, cause Dropbox to create conflicts, effectively corrupting your git repo. As a result, I tend to keep only non-Java (i.e., non-IJ) projects in ~/Dropbox.
Run "find .git -name 'conflict'" in your working directory to see if this has happened to you.
Warning: If you use git+Dropbox on a Mac (or have one joined anywhere), keep in mind that most Macs have case-insensitive filesystems.
What this means is checking out a git repo like the Linux kernel will not work. This drove me a little nuts until I figured out what happened (I'm an old school Unix guy so did not realize that HFS+ is case insensitive).
Old news, been doing this for years. (I hadn't heard of bitbucket back then.)
Also, my use case is extremely simple. I'm just sharing my own personal projects between my desktop and my laptop. I only ever use one of the two at a time, and am not using any tool that automatically checks or updates git repos.
It is not managable to have too many binaries changed in each commit that are under control git synced with Dropbox. (I know Git is not the best suitable vcs for binaries!) I'd always prefer Bitbucket for that reason. It's an Atlassian product and it is reliable, has no difference than github for private repos. Your files will be on the cloud, is your Dropbox more secure and permanent than Bitbucket? Hell no.
Would storing a git bundle on dropbox be better to avoid concurrent modifications to your refs? (A git bundle is just a git pack file of commits along with new ref pointers in a single file).
Could you push to one bundle per computer and then git fetch all the bundles from your peers? Once all your peers have your changes, you can start making bundles from a later revision so that the incremental bundles aren't too big.
I'm sure I'm not the target audience, but I'm surprised that in this day and age there isn't always a shared resource lying around (a linode, a slice, an ec2 instance). Or just allow ssh between developers with accounts limited to git access. The dropbox part seems unnecessary.
Also of note, if you're going to push your private repo to the cloud anyway, Bitbucket has free private Git repos. It's not as featureful as Github, but it has more than just the simple file storage you'd get through Dropbox.
[+] [-] weaksauce|14 years ago|reply
You don't have the possibility of corrupting your repo with an unsynced commit from a differennt machine.
[+] [-] alagu|14 years ago|reply
I've used dropbox+git for sometime [1]. It throws "conflicted copy" error [2] when two people push to origin at the same time. Bitbucket much better than dropbox, but not as awesome as github.
[1] Shorter version - http://stackoverflow.com/a/1961515/45582
[2] http://shikii.net/blog/ignoring-funny-ref-error-on-git-dropb...
[+] [-] kombine|14 years ago|reply
[+] [-] dalore|14 years ago|reply
[+] [-] calculus|14 years ago|reply
[+] [-] eli|14 years ago|reply
It was not the end of the world, but I would not recommend storing git repo in dropbox. If it's really something so small and insignificant that it doesn't need a git repo, then just put it in dropbox. If you want to use git, take the time to set up a proper repository.
[+] [-] mmisu|14 years ago|reply
[+] [-] mmisu|14 years ago|reply
[+] [-] mikeash|14 years ago|reply
[+] [-] amalag|14 years ago|reply
[+] [-] driverdan|14 years ago|reply
[+] [-] j_s|14 years ago|reply
https://github.com/mono/ngit/tree/master/gen
[+] [-] zrail|14 years ago|reply
[+] [-] lysol|14 years ago|reply
[+] [-] pcl|14 years ago|reply
Run "find .git -name 'conflict'" in your working directory to see if this has happened to you.
[+] [-] ajross|14 years ago|reply
[+] [-] mhartl|14 years ago|reply
[+] [-] wei2012|14 years ago|reply
Life is short.
[+] [-] newman314|14 years ago|reply
What this means is checking out a git repo like the Linux kernel will not work. This drove me a little nuts until I figured out what happened (I'm an old school Unix guy so did not realize that HFS+ is case insensitive).
[+] [-] TazeTSchnitzel|14 years ago|reply
[+] [-] webjprgm|14 years ago|reply
Also, my use case is extremely simple. I'm just sharing my own personal projects between my desktop and my laptop. I only ever use one of the two at a time, and am not using any tool that automatically checks or updates git repos.
[+] [-] ImprovedSilence|14 years ago|reply
[+] [-] udp|14 years ago|reply
[+] [-] ryanpetrich|14 years ago|reply
[+] [-] alpb|14 years ago|reply
[+] [-] yonran|14 years ago|reply
Could you push to one bundle per computer and then git fetch all the bundles from your peers? Once all your peers have your changes, you can start making bundles from a later revision so that the incremental bundles aren't too big.
[+] [-] darrikmazey|14 years ago|reply
[+] [-] rhardih|14 years ago|reply
[+] [-] supersillyus|14 years ago|reply
"You retain full ownership to your stuff. We don’t claim any ownership to any of it."
Or am I missing something?
[+] [-] mariusmg|14 years ago|reply
[+] [-] w33ble|14 years ago|reply
[+] [-] leouznw|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] Kiro|14 years ago|reply