Drupal upgrade the easy way

2017-06-26: Updated patch files to Drupal 7.56.

The standard procedure to upgrade Drupal to the latest release is to download it from drupal.org and follow the included UPGRADE.txt.

For administrators using the UNIX shell it may be easier using the attached patch files below instead of downloading and installing the newest complete Drupal release.

To patch your Drupal installation follow UPGRADING.txt up to and including

  • for Drupal 6: 5. Disable all custom and contributed modules.
  • for Drupal 7: 2. Go to Administration > Configuration > Development > Maintenance mode...

Now go on using this commands:

  • cd DRUPAL-ROOT
  • Dry run for testing without modifying anything: patch -p1 --dry-run < PATCHFILE
  • Do the real patching: patch -p1 < PATCHFILE

Your Drupal installation is now upgraded. proceed with UPGRADING.txt from

  • for Drupal 6: 9. Verify the new configuration file to make sure it has correct information.
  • for Drupal 7: 5. Re-apply any modifications to files such as .htaccess or robots.txt.

Note: Most important step after upgrading is to run update.php as described in UPGRADING.txt above.

Warning

If you get errors like Reversed (or previously applied) patch detected or 1 out of 2 hunks FAILED while running the patch dry run (second command above) immediately interrupt patching and upgrade following the steps explained in UPGRADING.txt.

Use this patch files on your own responsibility. I don't guarantee the proper function of the patch files on Drupal installations other than my own.

Note: If the patch process gets interrupted and leaves a mix of patched and unpatched files you may re-run it by ignoring already patched files after eliminating the reason of the interruption:

  • patch -p1 -N < PATCHFILE

You may savely remove reject files created during that process:

  • find . -name "*.rej" | xargs rm
Sometimes .htaccess and sites/default/default.settings.php got changes. Make sure you have a backup of your .htaccess before applying a patch. If you modified your .htaccess before the patch may not apply. In this case rename your .htaccess to .htaccess-mine and apply the patch. It will ask you which file to patch, just press ENTER. Now it asks if you want to skip this patch. Enter "y" and press ENTER. Rename .htaccess-mine back to .htaccess and apply the changes to .htaccess as described in the Release notes). Also have a look there what did change in the settings.php.

Patch files

Drupal 8

I recommend upgrading using Composer or Drush.

Drupal 7

To verify the integrity of the patch files use this MD5 hashes:

MD5 (drupal-7.0-to-7.56.patch) = 8fb7139cfe78f94393596e68a1ea9120
MD5 (drupal-7.1-to-7.56.patch) = 443828e657a74ad997ef49b129146ca2
MD5 (drupal-7.2-to-7.56.patch) = 44ea47f9c9bc3b13abe0f5488711db0f
MD5 (drupal-7.3-to-7.56.patch) = c45dba4f2f03704c4d27ebff518fcfae
MD5 (drupal-7.4-to-7.56.patch) = 693352f0c85b56e71a6a9edcf5a5243f
MD5 (drupal-7.5-to-7.56.patch) = 8782f06a1a7ab1e2dfb072dc748d5c18
MD5 (drupal-7.6-to-7.56.patch) = 5b2ff36cbe0afd1fdff126a68aa3bf17
MD5 (drupal-7.7-to-7.56.patch) = d18367db882ba5c406d0886ca7cc8b2e
MD5 (drupal-7.8-to-7.56.patch) = 5082ef41b73887b16e6dd5c0052ae047
MD5 (drupal-7.9-to-7.56.patch) = f7096db0274243955b7f986e6cfabf95
MD5 (drupal-7.10-to-7.56.patch) = deb8713d5c181afb450ec2bd9af53c55
MD5 (drupal-7.11-to-7.56.patch) = 3567104a08c154439199b926bf2e3991
MD5 (drupal-7.12-to-7.56.patch) = 8d57f2095ee72f040290b5d602fb412f
MD5 (drupal-7.13-to-7.56.patch) = a557aa42b377c2de2336f88a4d3ecfd1
MD5 (drupal-7.14-to-7.56.patch) = 96ddacf1f3ae1b3448bb87adf8dd3ef8
MD5 (drupal-7.15-to-7.56.patch) = adbf1430acdf4fbd6f22aef0d124ff81
MD5 (drupal-7.16-to-7.56.patch) = 655a4827297242d35b74e41cbdc03d08
MD5 (drupal-7.17-to-7.56.patch) = 6847fa730df2474fb2404bb920750618
MD5 (drupal-7.18-to-7.56.patch) = af5512f1f988852490a610c8f32e6977
MD5 (drupal-7.19-to-7.56.patch) = c181ec8b905728e085d121ddbc030afc
MD5 (drupal-7.20-to-7.56.patch) = a5e46de439867fab639ab0810b747477
MD5 (drupal-7.21-to-7.56.patch) = 7edafdda9d3c4d47881bd73ee13df864
MD5 (drupal-7.22-to-7.56.patch) = 3590c0d4201d4b8547d53d3b67d4fa22
MD5 (drupal-7.23-to-7.56.patch) = 8ebc8ec6f1e25338116029d0bb506fc8
MD5 (drupal-7.24-to-7.56.patch) = aebfeb4896309c2c91b32ecdd8d59928
MD5 (drupal-7.25-to-7.56.patch) = 2bffba3bceaa961c47fea0448bf215dc
MD5 (drupal-7.26-to-7.56.patch) = eb97640847a20eeaae3a8bc1cb5972bc
MD5 (drupal-7.27-to-7.56.patch) = c5376ab37fc5d9716813f86065bab703
MD5 (drupal-7.28-to-7.56.patch) = 6d69e9d37b332c1bd3dbab1fcd0aa6b3
MD5 (drupal-7.29-to-7.56.patch) = 97061673e029cedb84df66f943542d22
MD5 (drupal-7.30-to-7.56.patch) = 191f97a919b0d567ed0bbe90c78bcac7
MD5 (drupal-7.31-to-7.56.patch) = 096927f2d227f7c3ced9c34fe06a7025
MD5 (drupal-7.32-to-7.56.patch) = e44f5ef8802a565637889c747ad071f6
MD5 (drupal-7.33-to-7.56.patch) = df7c6212483eac1fecda5fc3803d4190
MD5 (drupal-7.34-to-7.56.patch) = fedffa1122b157bf236eba0b3a18683a
MD5 (drupal-7.35-to-7.56.patch) = c16de7f135d8e31c64641137c528b7ab
MD5 (drupal-7.36-to-7.56.patch) = 5a452b15a9a0ca6971ca45a0d845785a
MD5 (drupal-7.37-to-7.56.patch) = a1d1099eea40e7666e34e704e577e2fb
MD5 (drupal-7.38-to-7.56.patch) = 3b0dd1f9fc6e073cda1c39542412d230
MD5 (drupal-7.39-to-7.56.patch) = fe5db734aa25823ed0e54863e21e0ee0
MD5 (drupal-7.40-to-7.56.patch) = 050429476088e2cb79ce422477be1db2
MD5 (drupal-7.41-to-7.56.patch) = 354b1a2c0abe1e8f8c0c5cffebccd4b1
MD5 (drupal-7.42-to-7.56.patch) = 55ed76ab4c8ea8c059aa16a30f357010
MD5 (drupal-7.43-to-7.56.patch) = 6d7c644c487d3b412ef1e14fe076166f
MD5 (drupal-7.44-to-7.56.patch) = 168382d6dc934134bce6219c256a461c
MD5 (drupal-7.50-to-7.56.patch) = f8edc858c02250d5d4bf1e351d128fc0
MD5 (drupal-7.51-to-7.56.patch) = 102dd54e2bb43ceb35ef5a1d7e266677
MD5 (drupal-7.52-to-7.56.patch) = f2a13116bde06d4ded59603e32ff2f21
MD5 (drupal-7.53-to-7.56.patch) = cc22d9748a7ff35d219c5d5686f34d2d
MD5 (drupal-7.54-to-7.56.patch) = 765f00da16ab84870b59c13927096dbe
MD5 (drupal-7.55-to-7.56.patch) = f97b8df3baac4e625e164f35b64518c6

Drupal 6

To verify the integrity of the patch files use this MD5 hashes:

MD5 (drupal-6.0-to-6.38.patch) = 0d96eda6cfb02064b7c0f26f2d96db04
MD5 (drupal-6.1-to-6.38.patch) = dfa23ea8ec25666bedce705142d932f7
MD5 (drupal-6.2-to-6.38.patch) = 7e59144aa4b09a015a67679aab794dd6
MD5 (drupal-6.3-to-6.38.patch) = 5582de3f81efefc89951b9d28d5085c3
MD5 (drupal-6.4-to-6.38.patch) = f9ae77bbadf33f51fce316042d7195f5
MD5 (drupal-6.5-to-6.38.patch) = cb6370f9270eeea17bd8921585c4567f
MD5 (drupal-6.6-to-6.38.patch) = dc39e261e62a4788cdbd0088ccdbc1ae
MD5 (drupal-6.7-to-6.38.patch) = fab8b9dcd5765c553bea222b025c71ec
MD5 (drupal-6.8-to-6.38.patch) = cecaef557a5f4b7c66b637ad61c510e6
MD5 (drupal-6.9-to-6.38.patch) = 380f64ba07b2aa98466a703aa859cff1
MD5 (drupal-6.10-to-6.38.patch) = 6ddd550af5102ffab1c5770ce3c6b2af
MD5 (drupal-6.11-to-6.38.patch) = 1f5003ef05dc5af42773d1d8c51c72eb
MD5 (drupal-6.12-to-6.38.patch) = 41afac12d544a929eb0c3631e3df43c9
MD5 (drupal-6.13-to-6.38.patch) = 4f5a18b7f00674409f9dfd7b748a1f9d
MD5 (drupal-6.14-to-6.38.patch) = f86b7746b792e368953688a4fb6d25d5
MD5 (drupal-6.15-to-6.38.patch) = d8901736b33c9b02d6e49f93388ef1c7
MD5 (drupal-6.16-to-6.38.patch) = f06dd17e4d7400e5eba2383ecc6abd6c
MD5 (drupal-6.17-to-6.38.patch) = a251d5cc62922e81288f351fb6f0a9fc
MD5 (drupal-6.18-to-6.38.patch) = 00889048e2a3749cd6aa83f9685d754e
MD5 (drupal-6.19-to-6.38.patch) = 86993497e5d7ec660e7c7240abb56ed0
MD5 (drupal-6.20-to-6.38.patch) = 8d9bcd3ec3fa3bfbd89be088ac7b94c3
MD5 (drupal-6.21-to-6.38.patch) = ddc1fdb03627c6696f37906eefb24015
MD5 (drupal-6.22-to-6.38.patch) = 1f030d8d09fe46c1c2db1015c07e0ccf
MD5 (drupal-6.23-to-6.38.patch) = efb5da9154eb837741a0570cda17d12a
MD5 (drupal-6.24-to-6.38.patch) = b34e67825b96e33be0c5332282693a6f
MD5 (drupal-6.25-to-6.38.patch) = 2409998fc5e01ef6360d3733c445a1c2
MD5 (drupal-6.26-to-6.38.patch) = 7dffd85efe4aa90adb7456a17ce67e61
MD5 (drupal-6.27-to-6.38.patch) = 49fb0914992a0b6b65e5fd6cc524401e
MD5 (drupal-6.28-to-6.38.patch) = 4268112f0026f4afa09c46897afcb6f1
MD5 (drupal-6.29-to-6.38.patch) = 41ca230f7adce19d7c39d9ea6d3e542d
MD5 (drupal-6.30-to-6.38.patch) = ca9fe9d15f9e3478d699bc0c3314db54
MD5 (drupal-6.31-to-6.38.patch) = 59208e43f9bc8f717882d9fec6521914
MD5 (drupal-6.32-to-6.38.patch) = 95a6b9d4e6be5b04a941e5ebdddd8357
MD5 (drupal-6.33-to-6.38.patch) = 3ed549798aac6fe41e82b1567feeb6c8
MD5 (drupal-6.34-to-6.38.patch) = a03faa3ab186df76914727cacfb670c1
MD5 (drupal-6.35-to-6.38.patch) = b5d342cf0a2cb7948c2dbed9705e10e1
MD5 (drupal-6.36-to-6.38.patch) = 06e5a118fc8807cf2be285836a553173
MD5 (drupal-6.37-to-6.38.patch) = 2ee9c1bacd7117fadf172ef6df45fd41

Drupal 5

To verify the integrity of the patch files use this MD5 hashes:

  MD5 (drupal-5.0-to-5.23.patch) = 13235f0c50caf2f0366403563053fbba
  MD5 (drupal-5.1-to-5.23.patch) = e2d5fc4ec6da1f1db2f83204eef03160
  MD5 (drupal-5.2-to-5.23.patch) = 13da34e36fb58f422c86c1574e26719b
  MD5 (drupal-5.3-to-5.23.patch) = dd826e692ab5e9e50ce55feac0b82673
  MD5 (drupal-5.4-to-5.23.patch) = e44a1f00549c5d39bbe359772db4ec9d
  MD5 (drupal-5.5-to-5.23.patch) = 4f06344f52f3c476e458f01c4925e987
  MD5 (drupal-5.6-to-5.23.patch) = bd31200144a9b716e4a1cad1930796f1
  MD5 (drupal-5.7-to-5.23.patch) = 598e037a8840d79509ea5c247dff975e
  MD5 (drupal-5.8-to-5.23.patch) = 2a53dedeb3b00c679ccb0dae44379789
  MD5 (drupal-5.9-to-5.23.patch) = 8dd63096cf7c5dd73e968f770f56301b
  MD5 (drupal-5.10-to-5.23.patch) = a6127a53d945659efde17a31e8037b79
  MD5 (drupal-5.11-to-5.23.patch) = 841eabce62cac99f98e77de733aeb7c6
  MD5 (drupal-5.12-to-5.23.patch) = ddb82f96ad7915e34111df4706237c11
  MD5 (drupal-5.13-to-5.23.patch) = 41bf265e25a1d6c9324e4f6c7b5ff067
  MD5 (drupal-5.14-to-5.23.patch) = 7c48dca7dd10533fe65c895d33c7be56
  MD5 (drupal-5.15-to-5.23.patch) = ae1a31e80c3b24dfa1710adecbd1cce9
  MD5 (drupal-5.16-to-5.23.patch) = 72e25e1c680b75cbc1f8b303c4d97cba
  MD5 (drupal-5.17-to-5.23.patch) = 0fee19e0808ec863284618ce8f506d6c
  MD5 (drupal-5.18-to-5.23.patch) = 997f35d8372277203e5129e9bc684f81
  MD5 (drupal-5.19-to-5.23.patch) = 6189d7c3c3139647dfd519b727d8f12f
  MD5 (drupal-5.20-to-5.23.patch) = 33d48157e036411fd336a5d9023c8644
  MD5 (drupal-5.21-to-5.23.patch) = 86cb8be7e01f576177765d670332e4fb
  MD5 (drupal-5.22-to-5.23.patch) = 94488c667c2c68d48438d81129e3edca

Kommentare

THANKS!

Thank you so much for this page. I used to hate the "Update of the week" from drupal. With these patches it is a SNAP!

JN

7.43 to 7.44

Hi,

I've tested the 7.43 to 7.44 patch but in the admin the core doesn't seem to be marked as upgraded.

Is there a seperate file I need to install to update the changes?

Kind regards,

drupal-5.14-to-5.15.patch works properly

Thank you for your great job. I have used the drupal-5.14-to-5.15.patch on a multi-site installation and it worked without any errors.

Thanks a lot dude! With your

Thanks a lot dude! With your work updating drupal it really takes just only a second! Thanks and thanks again :)

neat!

Thank you very very much.Worked without a hitch.

Thank you!

Once more, thank you so much for this page! Using these patches has really saved me lots of time when upgrading our system to 6.12.

Big time-saver!

I just upgraded three of my drupal sites using your patch files, and for once, they went smoothly, and QUICKLY!

Thank you!

Thank you for providing all

Thank you for providing all this useful stuff on your page.

...

... runs like Schmidts cat!!!

How to use, I don't understand the procedure

Hi,

I have a windows based laptop from which I am going to try to upgrade my site which resides on a linux box. I currently use 6.6 and would like to upgrade to 6.14.

Can someone here please give me a step-by-step. I have been regretting not knowing enough and installing drupal. And upgradations are the only reasons. Please help.
thanks
Navs

Nice work! Maybe a little problem on 6.9->6.14 ?

Nice work, really nice work.

You saved me hours every upgrade!!

Im afraid to ask you, but did you check the 6.9 to 6.14 patch? Because im getting some errors and, since before it went smooth all the times, im wondering if maybe you upload a wrong file (i do it all the time ;) ).

Thanks again

No problem

Tried it with a fresh 6.9 and the patch went through without a hitch. May be you did some changes to your 6.9 files in the past?

Thank you

I favor quick and simple approaches, and eventually gave yours a try with 6.14-to-6.15. For me, this is definitely the way to go. Thank you very much indeed!

Smooth update!

Thanks for the great patch set - the update was smooth!

Thanks!

...a lot of them. I was choosing a CMS, and I was thinking about dropping drupal just for the upgrade complexity (hey, in wordpress is just clicking a button...). You saved the day.

This is *the* recommended way

This is *the* recommended way of upgrading Drupal! I just upgraded from 6.15 to 6.16 and it worked flawlessly and was over in a couple of methods. It's so easy compared to the method suggested in upgrade.txt (download tarball, remove all old files, unzip tarball... no thanks!).

The instructions are pretty simply but because they reference upgrade.txt I thought I would share the entire process here as a quick overview (please make sure you still read upgrade.txt and instructions on this page):
1. backup drupal db
2. backup drupal root directory and sub directories
3. Make sure you are logged in as admin (uid=1)
4. Place site in maintainece mode, /admin/settings/site-maintenance
5. If using a custom or contributed theme, switch to a core theme, such as Garland or Bluemarine.
6. get latest patch file from http://fuerstnet.de/en/drupal-upgrade-easier
6. cd your-drupal-directory
7. Dry run: patch -p1 --dry-run < patchfile
8. Patch: patch -p1 < patch-file
9. Verify the new configuration file to make sure it has correct information. sites/default/settings.php
10. Run update.php by visiting /update.php
11. enable usual theme
12. Finally, return your site to "Online" mode so your visitors may resume

That's it! Thanks Bernhard Fürst - you're a champ!

The dry run is failing. Suggestions?

I'm seeing...

[...]$ patch -p1 --dry-run < drupal-6.14-to-6.16.patch
patching file .htaccess
Hunk #1 FAILED at 3.
Hunk #2 FAILED at 66.
Hunk #3 FAILED at 113.
3 out of 3 hunks FAILED -- saving rejects to file .htaccess.rej

...

can't find file to patch at input line 2288
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur drupal-6.14/modules/node/node.info drupal-6.16/modules/node/node.info
|--- drupal-6.14/modules/node/node.info 2009-09-16 21:40:27.000000000 +0200
|+++ drupal-6.16/modules/node/node.info 2010-03-04 01:20:08.000000000 +0100

--

Any ideas on how to solve?

Check the Drupal version

I tried the drupal-6.14-to-6.16.patch file with a fresh Drupal 6.14 - no problem. Run the patch command from within the root of your Drupal installation. Also make sure your Drupal version is at 6.14 (check the included CHANGELOG.txt). Did you modify the Drupal core files?

Thanks... I did it the old school way

I wasn't able to successfully patch 6.14 to 6.16 so I just did it the old-fashioned way. :)

Thanks, anyway. :)

Thanks for your work

I tried to diff a drupal installation, when i discover your out-of-the-box-working ones.
Nice job !

I love you for sharing this.

I love you for sharing this. A much more reasonable way for minor ugprades

6.17 patch

Thanks much for all the previous patches. They have worked well. Are you coming out with the patch for 6.17 soon, or should I roll my own instead?

Must have missed that. It is

Must have missed that. It is online now - thanks for pointing me to it.

patch file in root 14->17

Is this correct? It implies, I think, that you have left the 14->16 patch file somewhere it shouldn't be when you did the diff.

diff -Naur drupal-6.14/drupal-6.14-to-6.16.patch drupal-6.17/drupal-6.14-to-6.16.patch
--- drupal-6.14/drupal-6.14-to-6.16.patch 2010-03-04 09:22:40.000000000 +0100
+++ drupal-6.17/drupal-6.14-to-6.16.patch 1970-01-01 01:00:00.000000000 +0100

Patch complains it's going to remove it, declaring at the same time it doesn't exist!

Dick

You are right. Corrected

You are right. Corrected patch file is online now. Only drupal-6.14-to-6.17.patch was affected.

Now THAT is handy

Awesome job friend :) This is a very convenient way to update. I've been using Drush to my core updates, but it involves a lot more directory/file-moving (danger!). I use git, so if patches break, it's no biggie. Thanks!

I just used this upgrade and

I just used this upgrade and was just reminded how easy and straightforward it is.
Great work, dude, a lot of us can vouch that this is pretty important code you are working on :)

New patch

Hi, first of all, THANK YOU VERY MUCH for this one! It's so smooth!
A question for you: When the patch for drupal 6.19 to 6.20 will be released ?

Thanks in advance for your time

Thanks!

You provide a great service!!!

Thanks! And an update error

Hi there, thanks for providing these patches! This patch update method is definitely the easiest for me.

However, I had a bit of an issue with my 6.19 -> 6.20 upgrade. The dry run didn't give me any significant errors that I couldn't work around. So went ahead and applied the patch. However, the patch process got up to this point and failed:


...
patching file modules/user/user.module
patching file robots.txt
patching file sites/default/default.settings.php
patch: **** Can't remove file sites/default/default.settings.php : Permission denied

The problem is that it failed and stopped, leaving me with a half patched system. Fortunately the only remaining items were a few default theme folders, which I manually copied over to my root. But are there any workarounds so that this doesn't happen again?

Thanks a lot!

No write access to this file?

The message Permission denied does mean you do not have write access to the file sites/default/default.settings.php. Make sure, you either own it and it is writable by you or temporarily (and as the user who owns it) set it to writable by anyone before patching.

re: No write access to this file?

Thanks for the reply Bernhard.

Yes, this file was not writeable. I guess I was just wondering if there is any way to make the process a bit more failsafe, so that it continues patching the rest of the files even if there is an error.

re: No write access to this file?

I had the same problem with a single site configuration (where the settings.php is in sites/default and not in sites/example.com). I was wondering because with the --dry-run option I didn't get any error.

I guess, that the folder containing settings.php will be set to read only by the drupal installation script.

So you may run chmod u+w sites/default/ in drupal root before patching drupal and chmod u-w sites/default/ after patching.

A++ would patch again.

The standard upgrade instructions made me cry myself to sleep at night, but this patch file is absolutely amazing. I have my site running on a new core after only 10 minutes.

Thank you so much! :D

disable selinux first

If you use CentOS or Redhat with selinux, be sure to turn selinux either off or to permissive mode before patching.

Thanks for the patch,

Patch 6.x to 7.x?

Hi! I just patched Drupal to 6.20 and want to thank you - again! - for this great tool. I was wondering if you have any plans of releasing a patch for drupal 6.20 to 7.0? That would mean a lot to use who manage drupal on a daily basis. Thank you again.

Please try with caution

I created 2 patch files (see above):

  • drupal-5.23-to-6.22.patch
  • drupal-6.22-to-7.2.patch

When testing against the corresponding lower version it did look 100% good. Please try with caution anyway!

patch: **** strip count l is

patch: **** strip count l is not a number

Checked the hashtag, and it matches.

I'll be honest, I tried

I'll be honest, I tried patching while I was tired, this is really a no no. I've used quite a few of these patches before. The 6.22 to 7.4 took a wrong turn. I have a multisite install and I had all sites in off-line mode but I did neglect to set default themes. My default.settings.php file was unwriteable as well. Is there a logical way to resolve my issue ?

Currently I'm receiving the following errors:
Notice: Use of undefined constant DRUPAL_ROOT - assumed 'DRUPAL_ROOT' in /home1/.../public_html/includes/bootstrap.inc on line 1971

Warning: require_once(DRUPAL_ROOT../includes/errors.inc) [function.require-once]: failed to open stream: No such file or directory in /home1/.../public_html/includes/bootstrap.inc on line 1971

Fatal error: require_once() [function.require]: Failed opening required 'DRUPAL_ROOT../includes/errors.inc' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home1/.../public_html/includes/bootstrap.inc on line 1971

Try searching drupal.org

At my tests (vanilla 6.22 patched using drupal-6.22-to-7.4.patch) the default.settings.php is writable.

For the DRUPAL_ROOT problem try searching drupal.org, i.e. http://drupal.org/node/1009966. Looks like a 6.x -> 7.x upgrading issue.

I've been reading all that

I've been reading all that info and haven't been able to get a good handle on where to set the define("DRUPAL_ROOT", since I dont have an external script, would I make this change in the patch and run it again ?

Follow the standard upgrade path

I indeed pointed you to something not helpful for your situation, sorry! I guess something else is messed up in your setup. You rather should follow the standard upgrade path as described in drupal-7.4/UPGRADE.txt than using the patch file.

Malformed patch error when upgrading 7.0 to 7.2

You are doing an awesome job! I am using your patches all the time. Today was the first time when I got an error when doing a dry run.

When upgrading 7.0 to 7.2, I get this:

Patching file misc/watchdog-error.png using Plan A...
patch: **** malformed patch at line 6163: diff -Naur drupal-7.0/misc/watchdog-ok.png drupal-7.2/misc/watchdog-ok.png

Thanks in advance!

Got no error when throwing

Got no error when throwing the patch against a vanilla Drupal 7.0 as described above. Please make sure the patch file you downloaded does not changed somehow at your machine: check the MD5 hash using `md5` or `md5sum`.

I downloaded vanilla Drupal

I downloaded vanilla Drupal 7.0, extracted it and ran the patch against it with no problems. So something else was fishy with my install. My bad. Thank you!

Thank you very much. This is

Thank you very much. This is AWESOME!!! this way its also easy to maintain any core patches as i dont have to reapply them!

Thanks again for your great work

Thank you

Thank you for this amazing job!

upgrade from 6.20 to 6.22 for multisites

can i use the above described approach to upgrade my drupal multisites from drupl 6.20 to 6.22? if can't, how should i do this? thanks.

Patching Drupal will upgrade

Patching Drupal will upgrade all Sites in your sites/ directory. Make sure you run update.php for every site after upgrading.

Drupal 7.7 to 7.8

Any chance of getting a 7.7 to 7.8 update? I find that this method of updating drupal sites more convenient compared to their manual download upgrade.