Suppose I have: DirectoryA - contains a PHP web application, unchanged, exactly as downloaded DirectoryA2 - contains a customised version of DirectoryA
DirectoryB - contains a new version of the PHP web application
I want to merge the changes that represent DirectoryA -> DirectoryA2, into DirectoryB to create DirectoryB2.
This seems to me the sort of thing that diff can do in its sleep but my past attempts have failed. It also probably points at some kind of version control solution, although there is no version control in place at the moment (if this is a good time to implement it then I'm all ears!) I don't expect this to be completely automated, but I believe and expect that using the right tools I can substantially improve the job from the starting point of comparing individual files manually.
I have so far got as far as diff --brief -r DirectoryA DirectoryA2
[If specifics help, DirectoryA is version 1.3.8a of ZenCart, DirectoryB is version 1.3.9f of ZenCart, and DirectoryA1 is a site built on version 1.3.8a of ZenCart, but with obvious changes (changes to stylesheets, new images, new plugins, etc). From a practical point of view, DirectoryA2 is mostly a superset of DirectoryA (new product images, plugins, templates, etc) but there are customisations (usually fairly trivial ones) to core files, and there will be a number of files from DirectoryA that were deleted (installation files, docs, etc). There would also be some file and directory permission changes.]