views:

102

answers:

1

I have a decent sized django project and when I originally built it I kept all the apps in an apps folder under the project root. project/apps/articles, project/apps/video etc.

After a while I decided to move to best practices and make them more reusable so I moved them into their own separate apps then symlink'd them to my python path. each one is its own git repo as well.

The only problem I run into is the annoyance of them being all in their own repo. This happens quite often that we decide to change something across many of the apps (roughly 7-8 non-3rd party apps). Like changing the name of something in the admin interface or incorporating something like south. I have to deal with each repo, commit, push, then have staging servers pull, then if all ok then have each app get pulled into production. It's just getting tiring.

Since I wrote all these apps they are all growing togeter with the site so there are many changes all the time. I hoping once everything starts to stablize maybe this issue will just go away since massive rapid changes wont be happening as much.

Is anyone else dealing with this. I've incorporated pip/freeze and requirements files and using fabric to try to help with some of the repitition and while it helps its just getting tiring.

Is this the way other people are doing this as well? Keeping their own apps (which will probably way day be useful to other people) as portatable independent apps. I'm thinging of just pulling them in under the main project to speed up my work flow.

Any thoughts are appreciated. Maybe I'm just being lazy.

+1  A: 

hi

you should look at git submodules. I have my django apps in an apps subfolder, and some of them are git submodules. My main project is bound to a specific commit in each submodule repo so it can evolve separately but can be also be updated easyly :

git submodules update
jujule