Last time, I hadn't run the test suite before declaring near-victory.
Apparently, there were a few regressions that had to be cleared up
first. (or more like: changes I was making, exposed bugs in svn)
I just got done running the wc-ng test suite, and the only failing
test is "update 24". But see my email about add/add conflicts. I
believe that update 24 exposes an underlying problem in our tree
conflicts and scheduling code that is unrelated to wc-ng.
Almost there...
Cheers,
-g
On Wed, Apr 22, 2009 at 03:37, Greg Stein <gstein_at_gmail.com> wrote:
> Author: gstein
> Date: Tue Apr 21 18:37:16 2009
> New Revision: 37419
>
> Log:
> write_entry() was incorrectly constructing not-present rows in the
> BASE_NODE table. We added this code a while back, but it turns out that it
> was trying to compensate for incorrect values on ENTRY->DELETED. In
> r37414, we fixed the construction of the DELETED value, so this code is
> incorrect and obsolete.
>
> * subversion/libsvn_wc/entries.c:
> (write_entry): remove insertion of not-present rows for certain
> schedule-add conditions. the DELETED handling takes care of it for us.
> (svn_wc__entry_remove, svn_wc__entry_modify, svn_wc__tweak_entry): add
> calls to svn_error_return() on function exit to support tracing.
>
> Modified:
> trunk/subversion/libsvn_wc/entries.c
>
> Modified: trunk/subversion/libsvn_wc/entries.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/entries.c?pathrev=37419&r1=37418&r2=37419
> ==============================================================================
> --- trunk/subversion/libsvn_wc/entries.c Tue Apr 21 12:28:36 2009 (r37418)
> +++ trunk/subversion/libsvn_wc/entries.c Tue Apr 21 18:37:16 2009 (r37419)
> @@ -2220,11 +2220,6 @@ write_entry(svn_wc__db_t *db,
>
> case svn_wc_schedule_add:
> working_node = MAYBE_ALLOC(working_node, scratch_pool);
> - if (entry->revision > 0
> - && entry->revision != this_dir->revision)
> - {
> - base_node = MAYBE_ALLOC(base_node, scratch_pool);
> - }
> break;
>
> case svn_wc_schedule_delete:
> @@ -2397,9 +2392,6 @@ write_entry(svn_wc__db_t *db,
> else
> base_node->kind = entry->kind;
>
> - if (entry->revision > 0 && entry->schedule == svn_wc_schedule_add)
> - base_node->presence = svn_wc__db_status_not_present;
> -
> if (entry->kind == svn_node_dir)
> base_node->checksum = NULL;
> else
> @@ -2960,7 +2952,8 @@ svn_wc__entry_remove(apr_hash_t *entries
>
> apr_hash_set(entries, name, APR_HASH_KEY_STRING, NULL);
>
> - return svn_wc__entries_write(entries, adm_access, scratch_pool);
> + return svn_error_return(svn_wc__entries_write(entries, adm_access,
> + scratch_pool));
> }
>
>
> @@ -3240,7 +3233,7 @@ svn_wc__entry_modify(svn_wc_adm_access_t
> }
>
> /* Sync changes to disk. */
> - return svn_wc__entries_write(entries, adm_access, pool);
> + return svn_error_return(svn_wc__entries_write(entries, adm_access, pool));
> }
>
>
> @@ -3394,7 +3387,8 @@ svn_wc__tweak_entry(svn_wc_adm_access_t
> apr_hash_set(entries, name, APR_HASH_KEY_STRING, NULL);
> }
>
> - return svn_wc__entries_write(entries, adm_access, scratch_pool);
> + return svn_error_return(svn_wc__entries_write(entries, adm_access,
> + scratch_pool));
> }
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=1852032
>
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1852121
Received on 2009-04-22 04:08:13 CEST