On Tue, Mar 27, 2012 at 12:36:21PM -0400, Greg Stein wrote: > On Tue, Mar 27, 2012 at 06:06, <s...@apache.org> wrote: > >... > > +++ subversion/trunk/subversion/libsvn_wc/wc_db.c Tue Mar 27 10:06:41 2012 > >... > > @@ -3657,7 +3657,7 @@ db_op_copy(svn_wc__db_wcroot_t *src_wcro > > dst_op_depth, > > dst_parent_relpath, > > presence_map, dst_presence)); > > - if (is_move) > > + if (is_move && status != svn_wc__db_status_added) > > SVN_ERR(svn_sqlite__bind_int64(stmt, 7, 1)); > > Hrm. What happens if the status is svn_wc__db_status_copied? (another > possible result from scan_addition) Don't you want to specifically > test for status_moved_here?
As far as I understand, this could be the first time the node is moved. So it might be status normal. I thought briefly about performing a switch on 'status' to make sure we consider all cases, but decided to defer that for later and just fix the 'add' case for now. Considering 'svn cp A B; svn mv B C' is something a user could do, and given that this sequence doesn't currently result in useful DB state, additional work is definitely needed here.