On 05-Mar-2007, at 14:52, Sonic Baker wrote: > (d) Other.
project-dir
trunk
Rakefile
config/
Doxyfile
Doxyfile_cake
lighttpd.conf
deploy.rb
docs/
media/
root/
.htaccess
app/
cake/
docs/
index.php
vendors/
releases/
2006-03-22_1.0.0
2006-03-25_1.0.1
2006-06-12_1.0.2
2007-01-05_1.1.0
...
branches/
Basically, I try to keep everything related to the project in one
spot in the repository.
The Rakefile has utility tasks for things like dumping the Db to a file, starting the lighttpd server, wrapping a filter around svk's output to remove things like Cake's cachefiles, launching TextMate and pointing it at the root/app directory, running doxygen, opening doxy's output in Safari, and the like. Automating the mundane stuff prevents me from mistyping commands and greatly reduces the keystrokes required.
The docs/ and media/ directories hod -- unsurprisingly -- project documentation and any media files (i.e. PSDs of the layout elements, TeX source, etc.)
When I want to deploy out the Apache-based servers, I just have to upload the contents of root/. Depending on the server, I can do that via capistrano, svn export, or plain old FTP.
Once the project hits a milestone, I just svk cp trunk/ into an appropriately named subdirectory in releases. And the same standard methodology for branching.
Integrating new releases of Cake is done by hand. Usually, it just requires deleting cake/, docs/, vendors/, and index.php from root/ and dropping in the new versions thereof. I don't really need to retain the modification history for the cake files, since I have access to it in my SVK mirror of the cake/branches/1.2.x.x directory.
Ideally, I would keep the sources for lighttpd, php, PCRE, etc in a tools/ directory inside trunk/, and then run the project entirely out of the trunk directory. But that'd take some time to setup and -- being a small shop -- there wouldn't be much immediate benefit.
Hopefully that's not too boring a tour. s.
PGP.sig
Description: This is a digitally signed message part
