Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#512 closed defect (fixed)

Directory traverses down in other WC

Reported by: Peter Johansson Owned by: Peter Johansson
Priority: critical Milestone: svndigest 0.9.5
Component: core Version: 0.9.4
Keywords: Cc:


This bug was found in both trunk versions and latest release 0.9.4.

After running 'make fetch' in yat directory I have a directory yat/Fetchdir which is wc of yat/svn:trunk/yat/utility

When I run svncopyrigt (and I suppose svndigest would work same way) and Directory parses through nodes in yat, it founds yat/Fetchdir and concludes it is under svn control and adds it to the tree. This is not sufficient and we should add some more checking here. Perhaps if Node and subNode belong to the same svn repo or could we be more accurate? 'svn ls yat' does not list Fetchdir.

Should this be fixed in 0.9.5 or 0.10?

I haven't seen this before so I suspect it was not a problem with wc from svn 1.6 (and earlier).

Change History (7)

comment:1 Changed 9 years ago by Jari Häkkinen

I suppose this issue requires a lot of work? The it should go into 0.10, and the README in 0.9 should explain the problem and recommend use of (future) svndigest 0.10 if they have svn 1.7 or later.

comment:2 Changed 9 years ago by Peter Johansson

I agree the final solution is quite instrusive and belongs in trunk. But it should be possible to implement a quick fix in stable. If I understand SVNinfo correctly, we can can check that SVNinfo::url matches in daughter and mother. Essentially,

SVNinfo(mother)::url() == directory_name(SVNinfo(daughter)::url());

The problem with this solution is that one has to construct daughter Node - which could be quite expensive if that WC is large - just to delete it on the next line. A better solution would ask the WC which are the sub nodes of mother which I suppose is done in subversion.

I will start adding a couple of tests in stable.

comment:3 Changed 9 years ago by Peter Johansson

Just to check if this was due to my wc, which has gone through an svn upgrade, I tested this on a freshly checked out wc and noticed the same dissatisfying behaviour.

I tried to create a test case using the test/repo twice checking out braches/android_branch wc of trunk'. For some reason svncopyright did not traverse into the android_branch, in other words, the test could not catch the case.

comment:4 Changed 9 years ago by Peter Johansson

Milestone: svndigest 0.x+svndigest 0.9.5
Owner: changed from Jari Häkkinen to Peter Johansson
Status: newassigned

Intend to solve this in 0.9.5 and let's open another ticked for trunk if needed.

comment:5 Changed 9 years ago by Peter Johansson

(In [1461]) adding a test for bug #512 (refs #512)

comment:6 Changed 9 years ago by Peter Johansson

Resolution: fixed
Status: assignedclosed

(In [1464]) closes #512

comment:7 Changed 8 years ago by Peter Johansson

(In [1488]) leftover from r1464. refs #512.

Note: See TracTickets for help on using tickets.