Philip Martin wrote: > Julian Foad writes: > > Philip Martin wrote: > >> http://subversion.tigris.org/issues/show_bug.cgi?id=4042 > > [...] Should we support that in 1.7? Or should we simply have the > >> client refuse to commit incomplete nodes. Most incomplete nodes > >> occur after an interrupted update, but wc could have incomplete > >> working nodes resulting from a wc-wc copy. > > > > I think we should start refusing to commit changes to or in an > > incomplete' directory, in order to keep things simple. I don't see a > > practical reason why such a commit should be supported, only the > > eternal desire to keep backward-compatibility. Back-compat is very > > important to me in general, but here it appears to me that we have an > > example of a behaviour which isn't wanted and merely happened to > > exist. (I mean the ability to commit a dir while it's marked > > incomplete' is not important, I don't mean nobody ever finds a use for > > it.) Please speak up if I'm wrong about that. > > I think it's relatively simple to make 1.7 behave the same > as 1.6:
I have no objection to you fixing it up in the short term. My point can be considered separately, longer term. - Julian > Index: subversion/libsvn_wc/adm_ops.c > =================================================================== > SVN_ERR_ASSERT(status == svn_wc__db_status_normal > + || status == svn_wc__db_status_incomplete > || status == svn_wc__db_status_added); > > Index: subversion/libsvn_wc/wc_db.c > =================================================================== > > + old_presence = svn_sqlite__column_token(stmt_info, 3, presence_map); > + /* ### other stuff? */ > [...] > - /* ### other presences? or reserve that for separate functions? */ > - new_presence = svn_wc__db_status_normal; > + /* Preserve any incomplete status */ > + new_presence = (old_presence == svn_wc__db_status_incomplete > + ? svn_wc__db_status_incomplete > + : svn_wc__db_status_normal);