You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2010/05/30 22:44:44 UTC
svn commit: r949570 - /subversion/trunk/subversion/libsvn_wc/log.c
Author: rhuijben
Date: Sun May 30 20:44:44 2010
New Revision: 949570
URL: http://svn.apache.org/viewvc?rev=949570&view=rev
Log:
Remove two more entry_modify() operations, which can be replaced by
a single wc_db call.
* subversion/libsvn_wc/log.c
(log_do_delete_entry): Create a not-present base node using the wc_db
apis instead of via writing entries.
Modified:
subversion/trunk/subversion/libsvn_wc/log.c
Modified: subversion/trunk/subversion/libsvn_wc/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/log.c?rev=949570&r1=949569&r2=949570&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/log.c (original)
+++ subversion/trunk/subversion/libsvn_wc/log.c Sun May 30 20:44:44 2010
@@ -379,36 +379,32 @@ log_do_delete_entry(struct log_runner *l
svn_node_kind_t kind)
{
const char *local_abspath;
+ const char *repos_relpath, *repos_root, *repos_uuid;
local_abspath = svn_dirent_join(loggy->adm_abspath, name, loggy->pool);
+ if (SVN_IS_VALID_REVNUM(revision))
+ SVN_ERR(svn_wc__db_scan_base_repos(&repos_relpath, &repos_root,
+ &repos_uuid, loggy->db, local_abspath,
+ loggy->pool, loggy->pool));
+
SVN_ERR(basic_delete_entry(loggy->db, local_abspath, loggy->pool));
if (SVN_IS_VALID_REVNUM(revision))
{
- svn_wc_entry_t tmp_entry;
-
- tmp_entry.revision = revision;
- tmp_entry.kind = kind;
- tmp_entry.deleted = TRUE;
-
- if (kind == svn_node_dir)
- SVN_ERR(svn_wc__entry_modify_stub(loggy->db,
- local_abspath,
- &tmp_entry,
- SVN_WC__ENTRY_MODIFY_REVISION
- | SVN_WC__ENTRY_MODIFY_KIND
- | SVN_WC__ENTRY_MODIFY_DELETED,
- loggy->pool));
- else
- SVN_ERR(svn_wc__entry_modify(loggy->db,
- local_abspath,
- svn_node_file,
- &tmp_entry,
- SVN_WC__ENTRY_MODIFY_REVISION
- | SVN_WC__ENTRY_MODIFY_KIND
- | SVN_WC__ENTRY_MODIFY_DELETED,
- loggy->pool));
+ SVN_ERR(svn_wc__db_base_add_absent_node(loggy->db,
+ local_abspath,
+ repos_relpath,
+ repos_root_url,
+ repos_uuid,
+ revision,
+ kind == svn_node_dir
+ ? svn_wc__db_kind_dir
+ : svn_wc__db_kind_file,
+ svn_wc__db_status_not_present,
+ NULL,
+ NULL,
+ loggy->pool));
}
return SVN_NO_ERROR;