Hello all,
I'm working on building a Magento site, and it's by far the most mammoth package I've ever worked with. I've decided to set up a proper development server and use Subversion for version control. I'm running in to a couple roadblocks and need some help.
What I've done so far:
- Set up web hosting on a host that uses cPanel. My 'Live' site (mysite.com) will reside in ~/public_html/.
- Created a 'Development' subdomain (dev.mysite.com) that points to ~/public_html/dev/.
- Started a SVN repository inside ~/svn/. My repo contains folders branches | tags | trunk.
- Imported a freshly untarred magento tarball (v.1.3.2.4) into my repo at trunk/magento.
- Created two databases a. mysite_live and b. mysite_dev.
- Checked out the magento code from my repo into ~/public_html/dev/ (dev.mysite.com)
- Ran the initial Magento Installer, which populated my mysite_dev Db and created some config files (app/etc/local.xml is the only one I know of - there may be others?).
Here's where I'm stuck:
So I've got a fully functional Magento Install in my dev space. What I want to do now is get my live site deployed identical to my dev site, as a starting point. Because the config is different in the app/etc/local.xml file; plus Magento stores the value for {{base_url}} inside the database, it's not as easy as updating my svn trunk from my dev site, then exporting/importing the db.
As I get further down the road with this, I want for there to be a straightforward path to push everything on my dev site through SVN and to my live site, along with keeping the databases synced except for the value of {{base_url}}. I've read a couple forum posts elsewhere that reference using svn:ignore to avoid certain environment-specific files and directories, but don't know how to get set up on my live site and ensure everything is properly synchronized.
Should I just check out a copy of the base code from trunk/magentoo from my repo to my live site's space, then run an install, then set svn to ignore local.xml, and assume that they're identical except for local differences?
At this point I just don't know how to proceed, and am reluctant to make any guesses in case it'll result in having to wipe everything out and start over again in the near future.
As a side note - I also need to create a 'Demo' branch of the code for another subdomain; to show to people as proof-of-concept. I'll probably just cross that bridge when I come to it. Maybe it'll all make sense by the time I get to that task.
tl;dr version - how do I manage Magento development&live code&Db's with SVN?
Thanks to all for taking the time to read and reply!