On Nov 25, 2009, at 10:27 AM, phi...@apache.org wrote: > Author: philip > Date: Wed Nov 25 16:27:42 2009 > New Revision: 884179 > > URL: http://svn.apache.org/viewvc?rev=884179&view=rev > Log: > Remove a use of svn_wc__entry_modify2. > > * subversion/libsvn_wc/update_editor.c > (absent_file_or_dir): Use svn_wc__db_base_add_absent_node. > > * subversion/libsvn_wc/wc_db.c > (svn_wc__db_base_add_absent_node): Flush entries. > > Modified: > subversion/trunk/subversion/libsvn_wc/update_editor.c > subversion/trunk/subversion/libsvn_wc/wc_db.c > > Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=884179&r1=884178&r2=884179&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_wc/update_editor.c (original) > +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Wed Nov 25 16:27:42 > 2009 > @@ -3196,15 +3196,17 @@ > const char *local_abspath; > struct dir_baton *pb = parent_baton; > struct edit_baton *eb = pb->edit_baton; > - svn_wc_entry_t tmp_entry; > - svn_boolean_t in_parent = (kind == svn_node_dir); > + const char *repos_relpath; > + const char *repos_root_url; > + const char *repos_uuid; > > local_abspath = svn_dirent_join(pb->local_abspath, name, pool); > + > /* Extra check: an item by this name may not exist, but there may > still be one scheduled for addition. That's a genuine > tree-conflict. */ > - > { > + svn_boolean_t in_parent = (kind == svn_node_dir); > const svn_wc_entry_t *entry; > svn_boolean_t hidden; > SVN_ERR(svn_wc__get_entry(&entry, eb->db, local_abspath, TRUE, kind, > @@ -3222,31 +3224,18 @@ > svn_dirent_local_style(path, pool)); > } > > - /* Immediately create an entry for the new item in the parent. Note > - that the parent must already be either added or opened, and thus > - it's in an 'incomplete' state just like the new item. */ > - tmp_entry.kind = kind; > - > - /* Note that there may already exist a 'ghost' entry in the parent > - with the same name, in a 'deleted' state. If so, it's fine to > - overwrite it... but we need to make sure we get rid of the > - 'deleted' flag when doing so: */ > - tmp_entry.deleted = FALSE; > + SVN_ERR(svn_wc__db_scan_base_repos(&repos_relpath, &repos_root_url, > + &repos_uuid, eb->db, pb->local_abspath, > + pool, pool)); > + repos_relpath = svn_dirent_join(repos_relpath, name, pool); > + > + SVN_ERR(svn_wc__db_base_add_absent_node
Style nit: we use no-space-before-paren these days. :) > + (eb->db, local_abspath, > + repos_relpath, repos_root_url, repos_uuid, *(eb->target_revision), > + kind == svn_node_dir ? svn_wc__db_kind_dir : svn_wc__db_kind_file, > + svn_wc__db_status_absent, pool)); > > - /* Post-update processing knows to leave this entry if its revision > - is equal to the target revision of the overall update. */ > - tmp_entry.revision = *(eb->target_revision); > - > - /* And, of course, marking as absent is the whole point. */ > - tmp_entry.absent = TRUE; > - > - return svn_wc__entry_modify2(eb->db, local_abspath, kind, in_parent, > - &tmp_entry, > - (SVN_WC__ENTRY_MODIFY_KIND | > - SVN_WC__ENTRY_MODIFY_REVISION | > - SVN_WC__ENTRY_MODIFY_DELETED | > - SVN_WC__ENTRY_MODIFY_ABSENT), > - pool); > + return SVN_NO_ERROR; > } > > > > Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=884179&r1=884178&r2=884179&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_wc/wc_db.c (original) > +++ subversion/trunk/subversion/libsvn_wc/wc_db.c Wed Nov 25 16:27:42 2009 > @@ -1845,7 +1845,10 @@ > ### or maybe let caller deal with that, if there is a possibility > ### of a node kind change (rather than eat an extra lookup here). */ > > - return insert_base_node(&ibb, pdh->wcroot->sdb, scratch_pool); > + SVN_ERR(insert_base_node(&ibb, pdh->wcroot->sdb, scratch_pool)); > + flush_entries(pdh); > + > + return SVN_NO_ERROR; > } > > > >