Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using git to Track changes to dropbox?

Skip to the bottom for the TLDR.

Issue:

In our environment everyone uses Dropbox to collaborate the development of a large coding project. It solves the problem of everyone keeping up to date on what everyone else has changed, and it also provides some simple versioning as to "whom changed what, and when".

What Dropbox does not provide, which is what I am looking for, is Git's awesome sauce, as far as versioning, blame, content diffs, etc

What I am working with now:

I am still using dropbox as our "version control, because the other "devs" probably won't be able to figure out git, I know it's easy, but they hate change.

In order for me to see, "what's really happening, and who's doing it", I am tracking the entire dropbox folder for that project using Git.

I have to manually commit every once in a while on behalf of the other devs in order to track what's happening with Git's awesome sauce.

What I am looking for:

Does anyone have experience with the environment I am stuck in? I would like to find something that can notice a change in Dropbox, pull the username of who made that change using dropbox's API, and auto-commit the change to git.

I have not found any such solution, and have already begun writing an app in Python to do what I want, I might have to host this on github and ask for help, low on free time, and relatively new to Python.

I am able to pull the RSS feed from the dropbox API and parse out what the file was and who changed it, but am not far enough to hook it into a Git Commit, should be trivial. I just don't want to reinvent any wheels.

TLDR:

I would like to automatically track changes that occur in a dropbox folder, and have them Git Committed, including the name of the person who changed the file in dropbox, using dropbox's API, or similar. Likely using Python, but anything is welcome.

Thanks in advance.

Git Repo, in case you want to help! https://github.com/haqthat/git-drop

like image 644
haqthat Avatar asked Aug 07 '12 17:08

haqthat


People also ask

Can you use Git with Dropbox?

git-remote-dropbox is a transparent bidirectional bridge between Git and Dropbox. It lets you use a Dropbox folder or a shared folder as a Git remote! This Git remote helper makes Dropbox act like a true Git remote.

Can Git track a folder?

git can't push empty directories. It can only track files. If you try to push a folder with nothing in it, although it will exist on your local machine, nothing will go into your branch. So if someone tries to clone your code, they won't have the same folder structure as you do on your local machine.


2 Answers

Honestly, your team needs one week of git practice and then will benefit from a much more robust workflow. Don't try to automate commits. Thats leading down the road to hell.

like image 71
Christoph Avatar answered Oct 24 '22 15:10

Christoph


If you can host it on linux, how about using iwatch? Whenever a file is updated in the dropbox folder by dropbox sync, iwatch can run a python script when that happens to pull the user. Then use envoy to run the two git commands, git add 'filename' and git commit -m "autocommit by system for user X changes".

Sure it isn't very pretty, but it will do the job, and it won't run unless there is an update.

like image 34
Spencer Rathbun Avatar answered Oct 24 '22 13:10

Spencer Rathbun