But aside from that, do all hacks have to be practical?
I don't know about BitBucket, but GitHub has suffered downtime before. If you have a second remote on Dropbox, you can also get to your files there and wherever it's automatically syncing them should your VCS go down.
Those services add:
- Access to GitLab Enterprise Edition (EE)
- Next-business day support
For a little more:
- 24/7 Emergency Support
- Live installation and configuration assistance
- Live upgrade assistance
- High Availability
- GitLab CI Support
An for a lot more:
- Prioritize features important to you
- Best practices training
- Dedicated Account Manager
It took them a long while to sort through the backlog, and its always increasing. My education plan was renewed just a few months before I graduated and I'd applied for it almost 8 months back, I think.
It seems from a quick read of the design document  that the important thing here is the updating of refs using a compare-and-swap, ensuring that the synchronisation issues that typically occur with using Dropbox as a remote cannot occur. Objects are always* safe from this since the file names are SHA1 hashes.
Edit: The only downside I can see with this is that the remote will never have garbage collection take place, so unreachable objects will continue to take up space indefinitely.
I don't know a way of doing it client side that is concurrency-safe. Perhaps I'll write a separate script that will do remote GC, but will require that you manually ensure that nobody is modifying the repository concurrently.
The target use case is small personal and group projects.
With the current design, it won't scale that well to large repos with lots of history. The initial clone will take a while. However, individual fetches or pushes after that shouldn't take that long unless there is a ton that changes.
- Mobile apps: ability to browse/create super easily from your iPhone or whatever using any app that integrates with Dropbox
- Storage space: though not always written in stone, most git hosts expect code and prefer you keep your media, if its heavy, elsewhere. Users of git-annex, largefile, etc. benefit from this.
- Collaboration: lots of people use Dropbox, not all of them need to use git (or at least, not all the time). See above.
Unfortunately, after reading the readme I see this: "Do not directly interact with Git repositories in your Dropbox folder - always use git-remote-dropbox. If you're using the Dropbox client to sync files, it's a good idea to use selective sync and disable syncing of the folder containing the repository to avoid any unexpected conflicts, just in case." So it's not as rosy as my above points hoped for.
How to Use S3 as a Private Git Repository
I don't agree. Many people use GIT without having any knowledge of the work necessary to keep a server secure all year around.
Amateur git usage is definitely a thing and not necessarily a small one.
I am, however, quite interested in the potential for business-related repos - I guess it all depends on the authentication and transport mechanisms (I assume this will be using Dropbox's auth and TLS API)?
There is no magic involved, and if a git repo ever breaks (which, ironically, last happened on a SCM server), I know enough about the internals to fix it by hand.
(although I would probably simply rewind Time Machine or pull from the central repo if it happened on my Mac - less time and hassle)
This only represents server side right?
You are still not expected to leave the working directory in the Dropbox folder?
Reason i ask - Dropbox's client is very inefficient when it comes to small files.
Correct, you're not expected to leave the working directory in a Dropbox folder. In fact, that's a bad idea (for the reasons explained in the blog post / readme).
It's also recommended to selective sync out the repository directory so the desktop client doesn't touch the files at all.
I hope they won't discover if I start using this.
Is it right to host your git repositories in a Dropbox folder? Probably not. Is it their fault? No. Is there sufficient evidence that quite a few people are trying to do it? Yes: https://www.google.com/search?q=dropbox+git
Unless, of course, they've become too big to care.