> -----Original Message----- > From: rhuij...@apache.org [mailto:rhuij...@apache.org] > Sent: donderdag 17 januari 2013 22:03 > To: comm...@subversion.apache.org > Subject: svn commit: r1434913 - > /subversion/trunk/subversion/libsvn_wc/wc_db.c > > Author: rhuijben > Date: Thu Jan 17 21:03:26 2013 > New Revision: 1434913 > > URL: http://svn.apache.org/viewvc?rev=1434913&view=rev > Log: > * subversion/libsvn_wc/wc_db.c > (read_children_info): Add note about possible bug. > > Modified: > subversion/trunk/subversion/libsvn_wc/wc_db.c > > Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_ > db.c?rev=1434913&r1=1434912&r2=1434913&view=diff > ========================================================== > ==================== > --- subversion/trunk/subversion/libsvn_wc/wc_db.c (original) > +++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Jan 17 21:03:26 > 2013 > @@ -8044,12 +8044,16 @@ read_children_info(svn_wc__db_wcroot_t * > child_item->info.have_more_work = (child_item->nr_layers > 1); > > /* Moved-to can only exist at op_depth > 0. */ > + /* ### Should we really do this for every layer where op_depth > 0 > + in undefined order? */ > moved_to_relpath = svn_sqlite__column_text(stmt, 21, NULL); > if (moved_to_relpath) > child_item->info.moved_to_abspath = > svn_dirent_join(wcroot->abspath, moved_to_relpath, > result_pool); > > /* Moved-here can only exist at op_depth > 0. */ > + /* ### Should we really do this for every layer where op_depth > 0 > + in undefined order? */ > child_item->info.moved_here = svn_sqlite__column_boolean(stmt, > 20); > }
I think $ svn mv A B $ svn mv B A Will now store moved_from and moved_to in the same record, at the op-depth of A. (Or copy_tests.py move_file_back_and_forth wouldn't show moved_from and moved_to on a single node using status using the code snippet here) How will this store a future move $ svn mv A C The original 1.7 model would have only stored moved_from at op-depth 0, so we can find the in-wc location of every node in the repository using a single query (if there is one). -------------- 21:07 <@julianf> When you put a replacement file or dir at the moved-from path? 21:07 <@breser> Yup 21:07 <@breser> svn mv A A2; svn status; svn mkdir A; svn status 21:08 <@breser> No more move tracking. 21:08 <@breser> And if you do an update that brings in a change to A it just conflicts. 21:09 <@breser> err it does display the resolution option, it just gives you the 'working' state err. 21:09 <@julianf> Good catch. 21:10 <@breser> If our wc move design is predicated on not replacing the from path we've made a major error. 21:10 <@breser> (I've been playing around with this trying to come up with realistic scenarios that people are likely to do) ------------- Did we find a few small issues in the current implementation, or should we first go back to the design of the move storage? Bert