Diff and Patch Behavior

[email protected]
Newsgroups gmane.comp.gnu.utils
Organization http://groups.google.com
Message-ID <[email protected]>
I am trying to update directory A with changes that have been made to
a copy of directory A called directory B.  The changes include edits
and new files.  I'm trying to accomplish this via diff and patch.
( Yes, friends, I know the wondrous benefits of svn, but don't want to
use it in this case. :D  )

Anyway, I run the following diff command:

diff -Naur /home/shagymoe/A /home/shagymoe/B > /home/shagymoe/
b_to_a.diff

Then, I run the patch command:

patch -u -p0 --fuzz=3 < /home/shagymoe/b_to_a.diff >> /home/shagymoe/
b_to_a_patch.log

What I don't understand is that the patch command updates A with the
edits, but then tries to add the new files to B.  So, A is patched
with all of the edits and B is "patched" with the new files.  The
patch to B obviously fails because the files already exist and then it
creates a .rej file and logs the errors.

Ok, so here is the strange part.

If I do EXACTLY the same commands, but delete or rename B before
running patch, A is updated with BOTH the edits and the new files.
That makes no sense to me at all.  I've played with --unidirectional-
new-file and other things, but I just can't seem to make it do what I
want.

Any ideas?  Your help is greatly appreciated.

Shagymoe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.