You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2010/03/31 04:45:29 UTC
svn commit: r929365 - /subversion/trunk/subversion/libsvn_wc/workqueue.c
Author: gstein
Date: Wed Mar 31 02:45:28 2010
New Revision: 929365
URL: http://svn.apache.org/viewvc?rev=929365&view=rev
Log:
Removing the use of entry_modify2() resulted in copyfrom information in
the database that did NOT get elided. We do this manually (for now),
though the most-correct resolution is to prevent that stray copyfrom
information from getting into the database in the first place.
* subversion/libsvn_wc/workqueue.c:
(run_revert): go ahead and use db_global_record_fileinfo(), but follow
it up with a call to db_temp_elide_copyfrom()
Modified:
subversion/trunk/subversion/libsvn_wc/workqueue.c
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=929365&r1=929364&r2=929365&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Wed Mar 31 02:45:28 2010
@@ -312,6 +312,8 @@ run_revert(svn_wc__db_t *db,
reinstall_working = TRUE;
#endif
#if 0
+ /* ### try to avoid altering the timestamp if the intended
+ ### contents are the same as current-contents. */
SVN_ERR(svn_wc__text_modified_internal_p(&reinstall_working,
db, local_abspath,
FALSE, FALSE,
@@ -325,6 +327,8 @@ run_revert(svn_wc__db_t *db,
svn_boolean_t use_commit_times;
apr_finfo_t finfo;
+ /* ### this should use OP_FILE_INSTALL. */
+
/* Copy from the text base to the working file. The working file
specifies the params for translation. */
SVN_ERR(copy_and_translate(db, text_base_path, local_abspath,
@@ -2036,27 +2040,16 @@ run_file_install(svn_wc__db_t *db,
APR_FINFO_MIN | APR_FINFO_LINK,
scratch_pool));
- /* ### for now, stick to the entry_modify2(). there is something more
- ### going on there. merge_tests 34 will fail if we switch to the
- ### wc_db API. */
-#if 0
SVN_ERR(svn_wc__db_global_record_fileinfo(db, local_abspath,
finfo.size, last_mod_time,
scratch_pool));
-#else
- {
- svn_wc_entry_t tmp_entry;
- tmp_entry.text_time = last_mod_time;
- tmp_entry.working_size = finfo.size;
- SVN_ERR(svn_wc__entry_modify2(db, local_abspath,
- svn_node_unknown, FALSE,
- &tmp_entry,
- SVN_WC__ENTRY_MODIFY_TEXT_TIME
- | SVN_WC__ENTRY_MODIFY_WORKING_SIZE,
- scratch_pool));
- }
-#endif
+ /* ### there used to be a call to entry_modify2() here, to set the
+ ### TRANSLATED_SIZE and LAST_MOD_TIME values. that function elided
+ ### copyfrom information that snuck into the database. it should
+ ### not be there in the first place, but we can manually get rid
+ ### of the erroneous, inheritable copyfrom data. */
+ SVN_ERR(svn_wc__db_temp_elide_copyfrom(db, local_abspath, scratch_pool));
}
return SVN_NO_ERROR;