On Wed, Apr 7, 2010 at 3:05 AM, <[email protected]> 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

