Hey guys.
I’m posting this as i’m looking for some ‘real life’ advice. I’ve read the subversion ‘book’ and am still left wondering exactly how to use subversion in my scenario.
I work for an Advertising Agency. We have a development team of 4 PHP Developers. We have a very large client and at present, the site is under subversion control.
What I’d like to do is setup an internal development process whereby a request comes in from our client, we complete the necessary work, then place on a staging server for approval by the client before publishing LIVE.
We’ve recently invested in a dedicated Windows Development Server (we have clients using both ASP and PHP, MSSQL and MySQL).
I was thinking of creating two internal sites. http://development.clientA.local and http://staging.clientA.local. I was going to setup a post-commit hook so that the http://development.clientA.local site was always updated whenever a change was made. This would be the site we would access as we develop to make sure our code works.
When a piece of work was complete, I was going to use the http://staging.clientA.local to take a copy of the ‘trunk’ to show to the client for sign off.
Can you see what i’m trying to achieve with this setup?
The questions I still have for example are:
- Say a developer is working on the trunk, completing a request for the client, but someone else is working on a different part? When http://staging.clientA.local is updated, it might contain broken areas of the site aswell as what the client has asked for?
- Following on from the above, what if the client views http://staging.clientA.local but wants minor tweaks?
- Should be keep the main line of development as the trunk, and create a branch for every change the client requests?
I understand what a Branch and a Tag are but am not sure how, and more importantly when, they should be used in my example?
Any help or advice you guys can provide would be fantastic.
Last updated