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

Re: xxdiff support for subversion

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-02-25 21:40:31 CET

I think you're confused about why/when svn uses diff3 functionality. It
does the merging *internally*, not interactively with the user.

Basically, it happens whenever you run 'svn update'. The client already
has two files: the working file, and a pristine copy of the original
repository file (in .svn/text-base/). During the update, the server
sends a *new* repository file down to the client. Now the client has to
do a 3-way merge: it must compare the old and new repository files, and
then merge those differences into your working file. Usually this is a
no-brainer, but if your working file already has local mods, you might
end up with conflicts.

Subversion has this diff3 ability built-in to its own libsvn_diff. If
you specify an 'external' diff3 program, it's going to use that program
to do the internal merging.

In any case, at no point does the user interact with any of this. After
the update is completed, the user *does* have the ability to resolve
conflicts using a 3rd party tool like xxdiff. That's because Subversion
not only creates conflict markers within the working file, but leaves
behind all three fulltext-files for you to examine. Those are the 3
files you'd feed to xxdiff.

Someday, we might add client-side hooks that would magically spawn
interactive conflict resolution tools in the *middle* of an update, but
we have no concrete plans for that yet, it's only been bantered around
as an informal idea. For now, people will have to use xxdiff on
conflicted files *after* the update.

Hope this clarifies things.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Feb 25 21:44:22 2004

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

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