[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Patch command execution

From: Greg Stein <gstein_at_lyra.org>
Date: 2002-02-08 02:09:52 CET

On Thu, Feb 07, 2002 at 04:53:14PM -0800, Zack Weinberg wrote:
> On Thu, Feb 07, 2002 at 02:17:22PM -0600, Ben Collins-Sussman wrote:
> > > Given the requirement that it only support the default diff format svn
> > > generates,
> >
> > ...whoa there. SVN sends its own binary diff format over the *wire*
> > only. During an update, this binary diff is used to recreate a new
> > pristine fulltext in .svn/tmp/. Then we use diff/patch to perform a
> > *context* merge into the user's existing local mods.
>
> I still don't understand why we use diff+patch to do this instead of a
> real 3-way merge program (which has more information and therefore can
> do a better job).

The binary diffs do not have context. So we take the original text, apply
the svndiff to get the new fulltext, then run the two through "diff" to get
a unified diff. Then, we pipe that into patch to apply that diff to the
user's (potentially modified) working copy.

The context is the issue.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:05 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.