SVN, изменения в БД — записываем все что изменяли, потом выполняем на рабочем сервере. конфиги в SVN switch, для тестовой машины и для рабочей свое все
Ну про СВН только начинающий не знает. Гораздо более интересной задачей является подобное решение для БД. В основном все советуют EMS DB Comparer 2007 for Mysql. Я еще не пользовался, но судя по скриншотам довольно приятная софтинка.
ну как уже высказывались выше, обновление файловой системы обычно ограничивается svn up
если сделаете bootstrap-файл для обновления БД так чтобы он запускался при первом обращении, то и его можно подцеплять в svn
кстати в svn еще можно вешать обработчики событий на отдельные папки, насколько помню, это тоже можно как то использовать
1. Для наиболее ответственных обязательное предварительное тестирование на отдельной тестовой машине. Хоть на локалхосте.
2. Никакого ручного копирования. Только VCS! Раньше использовал SVN, сейчас переполз на Mercurial, для разработку в одиночку на нескольких серверах он подходит лучше.
На каждое изменение делается патч, с уникальным айди (uuid), описанием того что делается, и автором. В самой базе в служебной табличке хранится список применённых патчей.
Так всегда можно узнать текущее состояние, и автоматом применить патчи которые пришли из меркуриала.
Обновление рабочего проекта на сервере.