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

Re: Problems with property conflict callback

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2007-10-26 22:08:00 CEST

Guys, I wrote a patch on the plane which should fix these odd
behaviors. Will submit shortly.

On 10/25/07, Stefan Küng <tortoisesvn@gmail.com> wrote:
> On 10/25/07, Ben Collins-Sussman <sussman@gmail.com> wrote:
> > On 10/24/07, Mark Phippard <markphip@gmail.com> wrote:
> > > We are looking at supporting this in Subclipse. We are finding when
> > > the callback is called we are just getting paths to two files, the
> > > "myPath" and "theirPath". There is no basePath and no mergedPath.
> > > This begs a couple questions:
> > >
> > > 1) How can we do a 3-way diff without a base version of the property?
> >
> > You can't. This sounds like a bug; can you give me a reproduction case?
>
> Use my script I sent to show that the conflict callback wasn't used
> for property conflicts, then change it to first commit the property
> change in wc2, then add another property on wc2\file to get the local
> modification again.
> (sorry, don't have access to my script right now, since I'm in the
> office and not at home)
>
> But yes, I also discovered that the base path is always NULL (not set).
>
> I've made TSVN just call the two-file diff in that case, showing
> "theirs" and "mine". Not perfect, but it works.
>
> > > 2) If we do #1, I do not see how we would tell SVN where the merged
> > > results are located for it to use.
> >
> >
> > If your conflict-callback decides to do the merge itself, it needs to
> > create a tmpfile somewhere with the merged result, then pass a path to
> > that tmpfile back in the conflct_result_t. (You also need to
> > 'choose_merged' in the conflict_result_t.)
>
> Is it really necessary to create a new tmpfile somewhere? The
> properties already are passed in temp files, so I (for now, depends on
> your answer) just use the "mine" property temp file and write the
> resolved stuff in there, then pass the path of that temp file back in
> conflict_result_t.
> That should work too? Or do you need the temp files unchanged? It
> won't be too much work to create a new, separate temp file to pass
> back - I just used the fastest way.
>
> > (This is true of both text and prop conflicts.)
>
> For text conflicts I found that the "merged_file" is used when
> 'choose_merged' is passed back - no need to create a tmp file there.
>
> Stefan
>
> --
> ___
> oo // \\ "De Chelonian Mobile"
> (_,\/ \_/ \ TortoiseSVN
> \ \_/_\_/> The coolest Interface to (Sub)Version Control
> /_/ \_\ http://tortoisesvn.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 26 22:08:16 2007

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.