On Wed, Apr 7, 2010 at 3:05 AM, <gstein_at_apache.org> wrote:
> Author: gstein
> Date: Wed Apr  7 07:05:28 2010
> New Revision: 931449
>
> URL: http://svn.apache.org/viewvc?rev=931449&view=rev
> Log:
> Fix the inheritance handling for entry->copyfrom_*. The mapping code was
> not properly considering the copyfrom data between "this" node and the
> ancestor nodes.
>
> This fixes merge_tests 34 and 134 (broken by r930162), but proceeds to
> break diff_tests 41 and merge_tests 8. Two steps forward...
>
> * subversion/libsvn_wc/entries.c:
> Â (read_entries_new): rework the logic that analyzes copyfrom information
> Â Â on "this" node and the ancestor nodes. it was not (properly)
> Â Â considering that an ancestor may imply "this" node is part of a copy.
>
> * subversion/tests/cmdline/switch_tests.py:
> Â (tree_conflicts_on_switch_2_1): note that we fail because an (A)dd is
> Â Â incorrectly reported as a (M)odify, due to issues in wc_db.
> Â (test_list): mark the above as an XFail
>
> * subversion/tests/cmdline/update_tests.py:
> Â (tree_conflicts_on_update_2_1, tree_conflict_uc2_schedule_re_add): leave
> Â Â comments about the breakage due to wc_db issues.
> Â (test_list): mark the above two tests as XFail
>
> Modified:
> Â Â subversion/trunk/subversion/libsvn_wc/entries.c
> Â Â subversion/trunk/subversion/tests/cmdline/switch_tests.py
> Â Â subversion/trunk/subversion/tests/cmdline/update_tests.py
>
> Modified: subversion/trunk/subversion/libsvn_wc/entries.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=931449&r1=931448&r2=931449&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_wc/entries.c (original)
> +++ subversion/trunk/subversion/libsvn_wc/entries.c Wed Apr  7 07:05:28 2010
> @@ -727,6 +727,8 @@ read_entries_new(apr_hash_t **result_ent
> Â Â Â Â Â Â Â Â || status == svn_wc__db_status_obstructed_add)
> Â Â Â Â {
> Â Â Â Â Â svn_wc__db_status_t work_status;
> + Â Â Â Â Â const char *op_root_abspath;
> + Â Â Â Â Â const char *scanned_original_relpath;
> Â Â Â Â Â svn_revnum_t original_revision;
>
> Â Â Â Â Â /* For child nodes, pick up the parent's revision. Â */
> @@ -817,17 +819,19 @@ read_entries_new(apr_hash_t **result_ent
> Â Â Â Â Â Â }
>
> Â Â Â Â Â SVN_ERR(svn_wc__db_scan_addition(&work_status,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &op_root_abspath,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &repos_relpath,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &entry->repos,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &entry->uuid,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL, NULL, NULL, &original_revision,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &scanned_original_relpath,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL, NULL, /* original_root|uuid */
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &original_revision,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â db,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â entry_abspath,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â result_pool, iterpool));
> -
> +      SVN_DBG(("entry: work_status=%d  cmt_rev=%ld  relpath='%s'\n", work_status, entry->cmt_rev, original_repos_relpath));
^^^^^
Hi Greg - looks like you left a scalpel in the patient.
Paul
Received on 2010-04-07 17:30:55 CEST