In article <[EMAIL PROTECTED]>, Andy Baker wrote: >I might be being more thick than usual today, >but shouldn't the following two examples >essentially produce the same result?... > > cvs up -jrev1 -jrev2 file > > cvs diff -rrev1 -rrev2 file >patch > patch file <patch
The patch program does not handle three-way merging. It tries to patch the diff hunks into the source text; if it cannot figure out where a hunk goes, it writes it into a .rej (reject) file. Unlike CVS, patch doesn't have access to the ancestral version. However, the CVS merge operation you are doing *is* quite similar to the actions of the GNU diff3 utility (when that is invoked in a certain way). Also note that you should make a context diff to maximize the chances of patch working properly; if the file being patched is different from the patch base, it needs the context lines to guess where the changes need to be applied. >NOTICE AND DISCLAIMER: >This email (including attachments) is confidential. If you have received Then why is it going to a public mailing list and Usenet newsgroup? :) _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
