Greg Stein wrote: > On Tue, Mar 9, 2010 at 17:37, <[email protected]> wrote: >> ... >> +++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Tue Mar 9 22:37:06 2010 >> @@ -1268,22 +1268,49 @@ svn_wc_get_ancestry2(const char **url, >> result_pool, scratch_pool)); >> } >> >> -/* Recursively mark a tree DIR_ABSPATH with a COPIED flag, skip items >> - scheduled for deletion. */ >> +/* Helper for mark_tree_copied(), handling the property juggling and >> + state changes for a single item LOCAL_ABSPATH (of kind LOCAL_KIND). */ >> +static svn_error_t * >> +mark_item_copied(svn_wc__db_t *db, >> + const char *local_abspath, >> + svn_wc__db_kind_t local_kind, >> + apr_pool_t *pool) > > This new function/param should be named scratch_pool. All new funcs in > libsvn_wc should use the result_pool and scratch_pool naming/paradigm. > Pushing that out to other libraries is also a Good Thing, but > definitely for wc.
Okey dokey.
>> +{
>> + apr_hash_t *props;
>> + svn_wc_entry_t tmp_entry;
>> + svn_node_kind_t kind =
>> + local_kind == svn_wc__db_kind_dir ? svn_node_dir : svn_node_unknown;
>> +
>> + /* Squirrel away the pristine properties to install them on
>> + working, because we might delete the base table */
>> + SVN_ERR(svn_wc__db_read_pristine_props(&props, db, local_abspath,
>> + pool, pool));
>> + tmp_entry.copied = TRUE;
>> + SVN_ERR(svn_wc__entry_modify2(db, local_abspath, kind, FALSE, &tmp_entry,
>> + SVN_WC__ENTRY_MODIFY_COPIED, pool));
>
> The old code also did this for parent_stub=TRUE. You've now lost that...
[...]
>> - iterpool, iterpool));
>> - tmp_entry.copied = TRUE;
>> - SVN_ERR(svn_wc__entry_modify2(db, child_abspath, svn_node_unknown,
>> - TRUE, &tmp_entry,
>> - SVN_WC__ENTRY_MODIFY_COPIED,
>> - iterpool));
>
> This is the part which got lost.
>
>> ...
>
> I'm assuming you got no test errors, so I'm wondering what is going
> on. It is really hard to trace the ->copied flag thru the entries
> writing code.
I definitely realized that I was making this change. I got no test errors,
and I tried to figure out why. I was thinking that the parent stub was a
bare-minimal bit of information that perhaps didn't even carry the copied
flag (and related copyfrom-* bits). Certainly in wc-1 that's the way it was
-- little more than a subdir name and node-kind flag.
--
C. Michael Pilato <[email protected]>
CollabNet <> www.collab.net <> Distributed Development On Demand
signature.asc
Description: OpenPGP digital signature

