views:

39

answers:

1

Hello,

I have a dir with thousands of files and 2 patch files that apply to the same dir. Each patch file patches 20-30 files in dir or it's subdirs.

If I apply either patch to the common ancestor dir, it succeeds.

But if I apply one patch file followed by the other, it fails because the line numbering has changed after one patch file is applied. (Both patch files store the diff from the common ancestor). Also at some places there are conflicts that I would like to do 3-way merge using some graphical tool like meld.

My goal is to do a 3-way merge from the patch files and then diff this final dir recursively against the common ancestor to create a single patch file.

One way to do it would be creating 2 copies of the common ancestor, applying the different patches to 2 of the copies and then doing a merge using meld. meld would spend a lot of time comparing files that did not change (dir has thousands of files). Is there a better way of doing this?

I would appreciate if you put in exact commands since I'm a linux newbie.

A: 

The latter seems to be a good choice: merging of 2 patched file trees. Except you can optimize process by dropping out unchanged files before merging leaving union of file sets in each patched file tree. However, it makes sense only if it's needed quite often to do.

Pmod