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

tree-conflicts: dirs_same_p()

From: Neels J. Hofmeyr <neels_at_elego.de>
Date: Thu, 25 Sep 2008 03:18:20 +0200

Hey Julian,

I'm investigating your preliminary patch for directory comparison (I've
attached the patch for dev@'s reference). Here's what I found:

In merge_tests.py 122
  First merge operation
    In dirs_same_p()
      dirs_same_file_delete() reports a difference, where it shouldn't.

A backtrace reveals some sort of pointer fault in the PATH argument:

#0 dirs_same_file_deleted (adm_access=0x0, state=0x0,
    path=0x82c5340 "A/B2/X�\036\b�!*\b �'\b\\�\036\b/lambda",
[...]

To cut a long trace short, the erratic path element is introduced because
const char *TARGET is used uninitialized in dirs_same_p(). That any of it
ever worked is close to a miracle ;)

Am I right to assume TARGET should be replaced by the dirs_same_p()'s MINE
parameter? ...No, I'm not, now it says:

svn: In file 'subversion/libsvn_ra/ra_loader.c' line 989: assertion failed
(svn_path_is_empty(diff_target) ||
svn_path_is_single_path_component(diff_target))

Hm, do you have an answer ready? Otherwise I'll try and wrap my brain around
this tomorrow...

~Neels

Julian Foad wrote:
> On Mon, 2008-09-22 at 14:14 +0200, Neels J. Hofmeyr wrote:
>> Hi Julian,
>>
>> Concerning tree-conflicts, what do you think would be a good issue for me to
>> grind my teeth on? ...what would you like to see fixed next, which you're
>> not intending to do yourself in the next few days?
>
> Hi Neels.
>
> That's a wonderful invitation. Let me see...
>
> * I've tried to get Directory Compare working. I tried two variations
> of using the same technique that svn_client_diff_summarize() uses. This
> must be one of the biggest things. Attached is a patch
> "dirs_same_p-2.patch" that I was working on, but it's not quite there
> yet. The tests for it are merge_tests.py 122 123 124 (which this patch
> adds).
>
> * I'm presently adding an extra column for "svn status" to report the
> tree-conflict status. This is OK except for one thing: currently, "svn
> status" doesn't normally report on items that are scheduled as
> "unversioned" and are not present on disk, but such items can still be
> the victim of a tree conflict, so we need to make "svn status" report
> them. I haven't thought about how to do this.
>
> Thank you for the offer. Let me know what you would like to do.
>
> - Julian
>
>

-- 
Neels Hofmeyr -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23458696  mobile: +49 177 2345869  fax: +49 30 23458695
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelsreg: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194

Received on 2008-09-25 03:46:31 CEST

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.