> -----Original Message-----
> From: MARTIN PHILIP [mailto:codematters_at_ntlworld.com] On Behalf Of
> Philip Martin
> Sent: dinsdag 22 januari 2013 16:24
> To: dev_at_subversion.apache.org
> Subject: upgrade_tests 29 XFAIL
>
> This is a regression test for issue 4035
> http://subversion.tigris.org/issues/show_bug.cgi?id=4035
> marked XFAIL after the recent entries-dump changes.
>
> This test is about upgrading a missing replaced directory, i.e
>
> svn rm A/B/E
> svn add A/B/E
> rm -rf A/B/E
>
> After the upgrade wc.db contains:
>
> $ sqlite3 svn-test-work/working_copies/upgrade_tests-29/.svn/wc.db
> "select op_depth, local_relpath, presence, repos_path, revision from nodes
> where local_relpath like 'A/B%' order by op_depth, local_relpath"
> 0|A/B|normal|A/B|1
> 0|A/B/E|incomplete|A/B/E|1
> 0|A/B/F|normal|A/B/F|1
> 0|A/B/lambda|normal|A/B/lambda|1
> 3|A/B/E|incomplete||
>
> after an update it contains:
>
> 0|A/B/E|normal|A/B/E|1
> 0|A/B/E/alpha|normal|A/B/E/alpha|1
> 0|A/B/E/beta|normal|A/B/E/beta|1
> 3|A/B/E|incomplete||
> 3|A/B/E/alpha|base-deleted||
> 3|A/B/E/beta|base-deleted||
>
> entries-dump asserts when built with SVN_DEBUG because the op-depth=3,
> presence=incomplete, node is unexpected. Without SVN_DEBUG the test
> fails later with an entries error:
>
> W: Couldn't find node 'E' in expected entries tree
> W: * Node name: E
> Path: svn-test-work/working_copies/upgrade_tests-29/A/B/E
> Contents: None
> Properties: {}
> Attributes: {'status': 'R ', 'wc_rev': '1'}
> Children: None (node is probably a file)
>
> Is the upgrade right or wrong to create the op-depth=3
> presence=incomplete row?
I think the idea is that it adds this first and then when walking the
'entries' in the directory itself the information is improved.
Maybe we should have another set of operations to run when we don't find the
entries in the directory.
Another option would be to make the test verify that you can recover from
this situation by running 'svn revert' on E. If that works it would be good
enough for me.
(The entries have a slightly different idea about what a replacement is
compared to status. Every node with a BASE node is replaced, even though the
node is not the op-root that replaces the node. There are entry_status,
entry_rev and entry_copied keywords to handle this in the test suite)
Bert
Received on 2013-01-22 16:50:00 CET