[
https://issues.apache.org/jira/browse/SVN-4891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523360#comment-17523360
]
Daniel Shahaf commented on SVN-4891:
------------------------------------
{code:java}
revert_tests.py 2 revert_reexpand_keyword(): revert reexpands manually
contracted keyword
- fails to re-expand a manually contracted keyword in at least one case
- "See r1101730 and r1101817"
{code}
No noteworthy {{{}revert{}}}-related differences to trunk in either the
libraries or the Python tests.
Tracing, I see the file is set to be unmodified by {{{}revert_wc_data(){}}}:
{code:java}
611 /* Issue #1663 asserts that we should compare a file in its
612 working copy format here, but before r1101473 we would
only
613 do that if the file was already unequal to its recorded
614 information.
615
616 r1101473 removes the option of asking for a working
format
617 compare but *also* check the recorded information first,
as
618 that combination doesn't guarantee a stable behavior.
619 (See the revert_test.py: revert_reexpand_keyword)
620
621 But to have the same issue #1663 behavior for revert as
we
622 had in <=1.6 we only have to check the recorded
information
623 ourselves. And we already have everything we need,
because
624 we called stat ourselves. */
625 if (recorded_size != SVN_INVALID_FILESIZE
626 && recorded_time != 0
627 && recorded_size == finfo.size
628 && recorded_time == finfo.mtime)
629 {
630 modified = FALSE;
631 }
{code}
At this point, both {{recorded_size}} and {{finfo.size}} are the size of the
repository-normal file. The code doesn't handle svn:keywords files specially,
and so misses that the file has keywords manually contracted.
However, trunk takes the exact same codepath, runs the same {{modified =
FALSE;}} line, and yet passes the test. I don't see why. There _are_ two
function calls added at the end of {{{}revert_wc_data(){}}}, but they are
inside an {{if (on_disk == svn_kind_none && …)}} block that doesn't even run
(on either branch).
Thanks for including those two revision numbers there; they helped me place the
breakpoint.
> 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:none}
> 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
> - fails to re-expand a manually contracted keyword in at least one case
> - "See r1101730 and r1101817"
> trans_tests.py 1 keywords_from_birth(): commit new files with keywords
> active from birth
> - fails due to mismatch of expected keywords in the text-base after a
> commit
> update_tests.py 57 skip_access_denied(): access denied paths should be
> skipped
> - on Unix: SKIP.
> - on Windows: XFAIL/WIMP in pristines-on-demand mode, XPASS on old WC
> format.
> upgrade_tests.py 16 replaced_files(): upgrade with base and working
> replaced files
> - XFAIL in pristines-on-demand mode; PASS with the old WC format.
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)