... I want to make them *all* in the PEAR fashion.
"What? Why? Are you crazy?"
No, random passer by, I don't think I am at all. You see, I'm sick of breaking shit from the CVS on the live site. I'm sick of 18 classes all interacting with each other that break because I forgot a single use of $foo when I mean $bar.
And basically, I want to hot-sex-good ease of deployment that is built right into PEAR.
Roll out the new accounts system?
pear install http://www.privatehost.com/packages/accounts-0.0.1.tgz
Upload a few controller pages and perhaps a few lightway adapter classes, and that's it. The heavy work is all in the packages. Which have unit tests. That pass.
If I break one component, I can roll it back. Never bloody worry again. And most importantly: multiple projects on the same machine all get upgraded at once.
I need to look at all of my existing code and reorganise, because code reuse is great in a single project: but why not in many? I've been guilty of a few copy and paste habits when I want to get something rolling straight away. So what would make a killer app for this?
A nice little application that generates my documentation, runs unit tests, and does DIFFs: CVS tools meet a package creation tool.
What would you want in your ultimate code deployment tool?