Hi,
I think there's still a problem with the new expected results of
tree-conflicts-on-update tests, in 2_1 and 2_2, where there are local changes.
2_1)
(tree_conflicts_on_update_2_1)
Local leaf edit, incoming tree delete.
expected_output = wc.State('', {
'F' : Item(status='C '),
'D' : Item(status='C '),
'DF' : Item(status='C '),
'DD' : Item(status='C '),
'DDF' : Item(status='C '),
'DDD' : Item(status='C '),
})
expected_disk = state_after_leaf_edit
expected_status = state_after_leaf_edit.copy()
expected_status.add({ '' : Item(status=' ') }) # also set root's attributes
expected_status.tweak(wc_rev=3)
expected_status.tweak('F', 'D', 'DF', 'DD', 'DDF', 'DDD', status='C ')
The output is fine, so is the disk.
But the status should also reflect the local changes, right?
The status after a leaf edit without conflicts is:
'' : Item(status=' ', wc_rev='2'),
'F' : Item(status=' ', wc_rev='2'),
'F/alpha' : Item(status='M ', wc_rev='2'),
'DD' : Item(status=' ', wc_rev='2'),
'DD/D1' : Item(status=' ', wc_rev='2'),
'DD/D1/D2' : Item(status=' ', wc_rev='2'),
'DD/D1/D2/epsilon' : Item(status='A ', wc_rev='0'),
'DF' : Item(status=' ', wc_rev='2'),
'DF/D1' : Item(status=' ', wc_rev='2'),
'DF/D1/beta' : Item(status='M ', wc_rev='2'),
'DDD' : Item(status=' ', wc_rev='2'),
'DDD/D1' : Item(status=' ', wc_rev='2'),
'DDD/D1/D2' : Item(status=' ', wc_rev='2'),
'DDD/D1/D2/D3' : Item(status=' ', wc_rev='2'),
'DDD/D1/D2/D3/zeta' : Item(status='A ', wc_rev='0'),
'DDF' : Item(status=' ', wc_rev='2'),
'DDF/D1' : Item(status=' ', wc_rev='2'),
'DDF/D1/D2' : Item(status=' ', wc_rev='2'),
'DDF/D1/D2/gamma' : Item(status='M ', wc_rev='2'),
'D' : Item(status=' ', wc_rev='2'),
'D/D1' : Item(status=' ', wc_rev='2'),
'D/D1/delta' : Item(status='A ', wc_rev='0'),
2_2)
(tree_conflicts_on_update_2_2)
Local leaf delete, incoming tree delete.
Same as above, and the status tree after a leaf delete without conflicts is:
'' : Item(status=' ', wc_rev='2'),
'F' : Item(status=' ', wc_rev='2'),
'F/alpha' : Item(status='D ', wc_rev='2'),
'DD' : Item(status=' ', wc_rev='2'),
'DD/D1' : Item(status=' ', wc_rev='2'),
'DD/D1/D2' : Item(status='D ', wc_rev='2'),
'DF' : Item(status=' ', wc_rev='2'),
'DF/D1' : Item(status=' ', wc_rev='2'),
'DF/D1/beta' : Item(status='D ', wc_rev='2'),
'DDD' : Item(status=' ', wc_rev='2'),
'DDD/D1' : Item(status=' ', wc_rev='2'),
'DDD/D1/D2' : Item(status=' ', wc_rev='2'),
'DDD/D1/D2/D3' : Item(status='D ', wc_rev='2'),
'DDF' : Item(status=' ', wc_rev='2'),
'DDF/D1' : Item(status=' ', wc_rev='2'),
'DDF/D1/D2' : Item(status=' ', wc_rev='2'),
'DDF/D1/D2/gamma' : Item(status='D ', wc_rev='2'),
'D' : Item(status=' ', wc_rev='2'),
'D/D1' : Item(status='D ', wc_rev='2'),
Thus, I come up with this patch:
[[[
Further fix two tree-conflicts tests.
* subversion/tests/cmdline/update_tests.py (tree_conflicts_on_update_2_1,
tree_conflicts_on_update_2_2): Adjust expected status to reflect the
local changes.
]]]
~Neels
--
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-04 03:21:46 CEST