You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Martin Hauner <Ma...@gmx.net> on 2006/06/09 10:11:09 UTC
PATCH Re: merge problem, svn: Directory 'xxx' is missing [Issue 2515]
Hi,
Garret Rooney wrote:
> On 6/8/06, Martin Hauner <Ma...@gmx.net> wrote:
>
> > The error is created in svn_wc_adm_retrieve. The interesting code seems
> to be
> > the add_directory in libsvn_client/repos_diff.c.
> >
> > If anyone could outline a fix, I could try to create a patch.
>
> Perhaps making sure get_path_access is passed TRUE for it's leneint
> parameter, and then gracefully handling the case where you can't get
> that access baton would be enough? I imagine you'd want to end up
> with action = skipped in those kind of cases, although I'm not
> positive.
Alway passing TRUE seems to work. At least the diff and merge tests
still run.
> A good first step would be writing a test case for the test suite though.
Ok here is my try to create a test. Creating the test case works but I'm
not sure what parameters I have to pass to the final merge call.
What are the different Item parameter types? Do i have to use status or
verb. Hmm...
Another issue is that the test doesn't work, it produces some output but i
have no idea what it is trying to tell me:
=============================================================
Expected __SVN_ROOT_NODE and actual __SVN_ROOT_NODE are different!
=============================================================
EXPECTED NODE TO BE:
=============================================================
* Node name: __SVN_ROOT_NODE
Path: __SVN_ROOT_NODE
Contents: None
Properties: {}
Attributes: {}
Children: 1
=============================================================
ACTUAL NODE FOUND:
=============================================================
* Node name: __SVN_ROOT_NODE
Path: __SVN_ROOT_NODE
Contents: None
Properties: {}
Attributes: {}
Children: is a file.
Unequal Types: one Node is a file, the other is a directory
EXCEPTION: SVNTreeUnequal
FAIL: merge_tests.py 32: merge an added dir on a deleted dir in target
--
Martin
Subcommander, http://subcommander.tigris.org
a cross platform Win32/Unix/MacOSX subversion gui client & diff/merge tool.
Echte DSL-Flatrate dauerhaft für 0,- Euro*!
"Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl
Re: PATCH Re: merge problem, svn: Directory 'xxx' is missing [Issue 2515]
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 6/9/06, Martin Hauner <Ma...@gmx.net> wrote:
> Alway passing TRUE seems to work. At least the diff and merge tests
> still run.
That's a good sign. I don't know enough about libsvn_wc to say for
sure if that's the right solution, but once the test works you can
post it here with the patch for people to review.
> > A good first step would be writing a test case for the test suite though.
>
> Ok here is my try to create a test. Creating the test case works but I'm
> not sure what parameters I have to pass to the final merge call.
> What are the different Item parameter types? Do i have to use status or
> verb. Hmm...
>
> Another issue is that the test doesn't work, it produces some output but i
> have no idea what it is trying to tell me:
>
> =============================================================
> Expected __SVN_ROOT_NODE and actual __SVN_ROOT_NODE are different!
> =============================================================
> EXPECTED NODE TO BE:
> =============================================================
> * Node name: __SVN_ROOT_NODE
> Path: __SVN_ROOT_NODE
> Contents: None
> Properties: {}
> Attributes: {}
> Children: 1
> =============================================================
> ACTUAL NODE FOUND:
> =============================================================
> * Node name: __SVN_ROOT_NODE
> Path: __SVN_ROOT_NODE
> Contents: None
> Properties: {}
> Attributes: {}
> Children: is a file.
> Unequal Types: one Node is a file, the other is a directory
> EXCEPTION: SVNTreeUnequal
> FAIL: merge_tests.py 32: merge an added dir on a deleted dir in target
The main problem was that you were constructing your expected disk
structure with the wrong path. you started with svn-test-work/...,
when you really should have started with '' and then given paths
relative to I_path. I agree, it's not exactly obvious what the
problem was, our test suite is nowhere near as straitforward as it
should be...
Here's an updated patch. I also removed the expected status bit, but
I'm not sure if that's right or not. I have only so much time to
fight with the test suite this morning, after all ;-)
-garrett