I'm trying to figure out what the workflow is for using contrib modules checked out from drupal.org. This is something I used to do no problem in cvs.
I've spent literally days on this and have gotten no where. I've been over http://groups.drupal.org/node/140949 and http://drupal.org/node/803746 many times. Both hint about it and mention it will be discussed and mention this project as the holy grail of git dev workflow. Since it's essentially, dead, I have to assume there's another way and I just can find it or figure it out. I feel like there must be this obvious way of doing it that i'm just not grasping.
I can manage a standard drupal site with manually downloaded and installed modules (or non git drush dl's) no problem. It's actually quite straight forward and expedient. The piece that's missing with my contribs not being git checkouts is the ability to create and submit patches back to the modules when I develop features or fix bugs. I find myself putting it off till I have more time (since I have to setup a different site to checkout the contrib and work on it or manually create a patch) and it just never gets done. It's definitely impacting my ability to contribute back more than anything else.
So what's the secret? Where's the secret stash of info? Any insight would be greatly appreciated. I'll even contribute docs back to http://drupal.org/node/803746 for the benefit of others!
Comments
Comment #1
chris.stone commentedYou can use git submodules to track contrib modules checked out from git. Assuming your tracking each of your sites as a separate git repository the workflow could be as follows:
Adding views 7.x-3.x to site example.com
To publish views on production site
To track a specific tagged version of views you would checkout the tag you want to track and from your repository root run
Do not add a trailing / to the above git command otherwise git will lose the submodules git folder
See the Git documentation and git submodule man page for more information on submodules.
See Making a Drupal patch with Git for basic info on creating a patch in git.
Comment #2
WorldFallz commentedThanks for commenting Chris... I'm actually playing around with submodules now. The only thing left to figure out is how to get update manager to show the correct version and update status. So far, I haven't found an acceptable solution. using drush with --gitinfofile contaminates the files with regards to my local repository and git_deploy doesn't seem to be working reliably.
Comment #3
chris.stone commentedWhat are the issues that you're having with git_deploy?
Comment #5
WorldFallz commentedI am unfortunately handcuffed to a windows/iis environment and can't get git_deploy 7.x-2.x working at all (git is installed locally and works perfectly, but the module doesn't see it) and version 7.x-1.x wasn't reporting versions correctly ( mostly for core and devs). Now that i know this is the 'correct' way to structure my env maybe ill take another try at getting ver 7.x-2.x working in windows.
Comment #6
chris.stone commentedI'll try to get a copy of IIS running on my windows box to see if I can come up with a fix as well