Philip Martin <philip.mar...@wandisco.com> writes:

> svnadmin create repo
> svn mkdir -mm file://`pwd`/repo/A
> svn co -r0 file://`pwd`/repo wc
> svn mkdir --parents wc/X/Y/A
> svn merge -c1 ^/ wc/X/Y
> svn rm --force wc/X
>
> sqlite3 wc/.svn/wc.db "select op_depth, local_relpath from nodes"
> 0|
>
> sqlite3 wc/.svn/wc.db "select local_relpath from actual_node"
> X/Y/A

After discussion on IRC i think we agree that leaving an "orphaned"
actual-node for X/Y/A is wrong.  So how should svn_wc__db_op_delete
behave?  It could:

  - delete the orphaned conflict but leave any non-orphaned conflicts
  - move the orphaned conflict to some non-orphaned row
  - fail, with an error about the orphaned conflict
  - delete all conflicts

I still favour making delete remove all tree conflicts.  It's both easy
to implement and easy to explain.  It's also what happens with text and
property conflicts.

-- 
Philip

Reply via email to