Can anyone suggest how I can merge 2 sets of changes to a suite of website files. i.e. Imagine some open source web services application at version 1. Then a company takes the open source code and customises it to produce version1-customised. In parrallel, the open source community takes version1 (not version1-customised) and upgrades it, to produce version2. How can I produce version2-customised, without manually looking through the diff of version1 & version2 and manually applying the changes?
Thanks
Shawn
Apologies in advance if I have posted to the wrong forum... I imagine that the solution will probably be a perl script, although perhaps other solutions are possible, such as existing packages, or shell scrips
Just in case anyone has a similar problem in future, I thought I'd post back...
I landed up doing effectively what Jatar suggested. i.e. using 'diff' to compare version1 with version1-customised, then apply diff output to version2 using unix's 'patch'. I wrote some perl script to adjust the line numbers of the 'diff' output, just so that 'patch' gets a better initial guess. Patch is pretty intelligent but the changes were pretty extensive, so I thought this would be safer.
After the diff/patch process, I had to go through the conflicts as per Jatar's post. For that I found a windows program called Araxis very useful. In fact if there aren't many files, Araxis could be used to do it all as it has a great gui interface. But in my case there were lots of files, so I was trying to automate as much as possible.
Another alternative I investigated which also looks good if you are a unix hack is an Open Source package called Arch (Search for something like Arch RCS)
So I used a mixture of windows and unix environments to solve this... If anyone knows of a good unix program similar to Araxis (with all the GUI niceties and without the pricetag of Clearcase) I'd be really interested.
Shawn