[
https://issues.apache.org/jira/browse/SVN-4891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17503028#comment-17503028
]
Daniel Shahaf commented on SVN-4891:
------------------------------------
> basic_tests.py 9 basic_update_corruption()
>
> should be the same... but something has changed, and the 'update' under test
> fails to fail. The update unexpectedly succeeds, so the test fails (when
> testing against 1.14 format).
In subversion/libsvn_wc/textbase.c:open_textbase() we do this:
{code:java}
272 if (checksum && svn_checksum_match(checksum, target_checksum))
273 {
274 svn_boolean_t modified;
275
276 SVN_ERR(check_file_modified(&modified, db, local_abspath,
recorded_size,
277 recorded_time, target_checksum,
have_props,
278 props_mod, scratch_pool));
279 if (!modified)
280 {
281
SVN_ERR(svn_wc__internal_translated_stream(contents_p, db,
282
local_abspath,
283 local_abspath,
284
SVN_WC_TRANSLATE_TO_NF,
285
result_pool,
286 scratch_pool));
287
288 return SVN_NO_ERROR;
289 }
290 }
291
292 SVN_ERR(svn_wc__db_pristine_read(contents_p, NULL, db, local_abspath,
293 target_checksum, result_pool,
scratch_pool));
{code}
The local file is unmodified, so we return a stream to the ACTUAL file [I'm not
shouting; this is a term of art] and never notice the old text-base. The update
actually works just fine even if the "old" text-base is deleted entirely.
I had tried to bisect this too, however, as of the creation of the "-on-mwf"
rebase branch the test failed with an error about the {{TEXTBASE_REFS}} table
not existing (sorry, I didn't keep the error message). That seemed unrelated so
I did not attempt to bisect further.
> Pristines-on-demand: fix disabled tests
> ---------------------------------------
>
> Key: SVN-4891
> URL: https://issues.apache.org/jira/browse/SVN-4891
> Project: Subversion
> Issue Type: Bug
> Reporter: Julian Foad
> Assignee: Julian Foad
> Priority: Major
>
> The following tests had been changed in the pristines-on-demand development.
> Most were disabled with the '@Wimp' decorator. (This caused some of them to
> give an XPASS and some an XFAIL result when run against the older WC format,
> and all XFAIL against the newer WC format.)
> They need to be re-enabled and fixed.
> (I am removing them from this list as and when fixed.)
> {code:java}
> basic_tests.py 8 basic_commit_corruption(): basic corruption detection on
> commit
> [[Relies on wc.text_base_path()]]
> basic_tests.py 9 basic_update_corruption(): basic corruption detection on
> update
> [[Relies on wc.text_base_path()]]
> externals_tests.py ... ... ...:
> update_modify_file_external(),
> remap_file_external_with_prop_del(),
> file_external_recorded_info():
> existing issue (Windows only)
> revert_tests.py 2 revert_reexpand_keyword(): revert reexpands manually
> contracted keyword
> "See r1101730 and r1101817"
> trans_tests.py 1 keywords_from_birth(): commit new files with keywords
> active from birth
> [[Relies on wc.text_base_path()]]
> trans_tests.py 3 eol_change_is_text_mod(): committing eol-style change
> forces text send
> [[Relies on wc.text_base_path()]]
> update_tests.py 57 skip_access_denied(): access denied paths should be
> skipped
> [[Need to update the access denied handling in update_editor.c]]
> upgrade_tests.py 16 replaced_files(): upgrade with base and working
> replaced files
> [[Can't fetch pristines: the working copy points to file:///tmp/repo]]
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
