[development] Local repository best practices

Gordon Heydon gordon at heydon.com.au
Wed Sep 10 05:51:52 UTC 2008


Hi,

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  
branch.

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.

Gordon.

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?
>
> -Ryan
> !DSPAM:1000,48c757c671618992556831!



More information about the development mailing list