How to properly update theme.
First of all, if you have made any changes – make a backup.
1. If you have NOT changed any files
You can just copy files from new package over old files – thats it! Theme is updated. You can just refresh cache and flush css/js ( if you use merge option ).
2. If you have changed theme files
1. To apply update you need to use command line ( console ) on your server.
2. You can use some of the free console clients, i.e. “putty”.
3. Login to your server and find magento root folder (this is the folder where magento is located). If you not sure about root folder, but you have ftp access – you can try to create one line php file and upload it via ftp: File should contain this line <?php echo getcwd();
4. Patches should be applied version by version. I.e. if you have v1.2, you should not apply patches from v1.2.3 before you apply patches for v1.2.1 and v1.2.2
5. Run patch files one by one with help of “git apply” command.
Type following command i.e. in putty console program:
git apply patch/v1_2_2____v1_2_3/0001-fix-priceslider-bug-layered-navigation-box.patch
6. When git apply is working normally, you get no output at all:
$ git apply example.patch [nothing returned]
7. If you want to see what’s going on behind the scenes, you can use the -v (verbose) flag:
$ git apply -v example.patch Checking patch includes/common.inc… Applied patch includes/common.inc cleanly.
8. Here is other output the git apply command can generate, and what it means.
Patch does not apply
$ git apply example.patch error: patch failed: includes/common.inc:626 error: includes/common.inc: patch does not apply
Git couldn’t apply the changes in the patch because it wasn’t able to find the line(s) of code in question; they must have been changed or removed by another commit. Try these things:
Make sure the patch hasn’t already been applied. Try to examine the code to see if the change(s) are already present. If they are, you’re done. If they aren’t or if only some of them are, try something else:
Use patch -p1 < filename.patch. Whereas git-apply altogether rejects a patch with any errors, patch -p1 works hunk by hunk, applying as many individual changes as it can. It backs up each file as filename.ext.orig before modifying it and saves rejected hunks in filename.ext.rej. Discard the .orig files and manually apply the changes left in the .rej. This is an easy strategy for small patches.