A while ago I got fed up with the difficulty in upgrading drupal, so I created a new method of doing it.
The intention was to have one drupal codebase for multiple sites of different users so that the ISP could upgrade drupal.
I didn't have time to finish it, but it still makes upgrades very simple.
Within my public_html I un-tar drupal, so I have a folder called drupal-6.2 WITHIN my public_html.
My index.php file looks like this:
// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $
# first include site config, then chain the real index.php
define(DRUPAL_DIR,'drupal');
#set_include_path(get_include_path() . PATH_SEPARATOR . DRUPAL_DIR);
$drupal_pages=array_flip(array('/update.php','/index.php'));
if (array_key_exists($drupal_pages[$_SERVER["REDIRECT_URL"]],$drupal_pages))
include(DRUPAL_DIR.$_SERVER["REDIRECT_URL"]);
else
include(DRUPAL_DIR.'/index.php');
and my public_html has these symlinks:
includes -> drupal/includes
misc -> drupal/misc
modules -> drupal/modules
profiles -> drupal/profiles
scripts -> drupal/scripts
sites -> drupal/sites
themes -> drupal/themes
and finally this symlink which I change on upgrade:
drupal->drupal-6.2