Mark Rogers wrote:
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.
Two obvious options:
No version control: use a tool that offers "Merge Directories with Ancestor..." where A is the ancestor of both A2 and B, saving to B2. Emacs has one, vimdiff might too but I've not checked. You could do it with diff and patch and fixing files up manually based on .rej files, but why make it hard?
Adding version control: commit A, make new branch, copy A2 over the working copy (A) and commit, return to master branch (so making the working copy A again), copy B over the working copy (A) and commit, return to new branch (which is A2) and merge master (which changed from A to B since the branch point) onto it, resulting in your B2. That's with git but similar concepts probably work with others.
I've done both of these many times. I feel adding version control is usually worth the small extra time. My co-op can be hired ;-)
Regards,