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;
> }
> 
> 
> 
> 

Reply via email to