[development] Local repository best practices
gordon at heydon.com.au
Wed Sep 10 05:51:52 UTC 2008
I actually use git to manage all my clients, (Including the ones with
SVN as git has a great SVN connector).
Basically I have my base systems which I use to roll out to all
clients and then I create a local system which pulls from the base
repository and then loads on any additional modules.
To do any db updates I push this through the hook_update_n() and then
I use update.sh http://drupal.org/node/233091 to automatically run the
updates as soon as the new version is committed to the repository and
it will put the system into maintenance mode and do the updates and
take it out of maintenance module if there are no errors.
That is for the test system. Then I use branches to build a release
version and once this has past muster I use tag and then do a fetch in
the live system to bring in the code and then I check out the release
Works really good. I just wish more people would use git.
Also this means that I don't have to give people commit access to
systems, then can just email me the changes and I can sign them off
and move them into live. If there is a problem I can see there patches
and who signed off the patch and who committed it.
Git has a great chain of evidence. Nothing comes even close to this.
Also because of the extremely strong branch management in git moving
fixes between the rc branches and the master is usually a single
command with no messing around with fixing up broken patches.
You will have 1 problem with git. which is what I have. every other
SRM pails in comparison, esp once you start using branches that way
they are meant be.
An example of this is that I am doing a lot of changes to simple
access and upgrading to D6, and most of the commits that I do in 5,
with git I can move to 6 with generally no intervention from me. So
keeping the 2 releases in sync is very easy.
please excuse the rant.
On 10/09/2008, at 2:53 PM, Ryan Cross wrote:
> I have a client that really wants to use GIT to manage their code.
> So, if anyone would like to chime in with non-svn development
> workflows/organization that would be great too.
> I'm also curious if people would expand a bit more about how they
> manage their DB changes. It sounds like angie/lullabot store a DB
> dump in the repository and then upload that with their deployment.
> Is this standard practice for other people?
More information about the development