You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@gmail.com> on 2009/04/22 01:45:03 UTC

Re: svn commit: r37419 - trunk/subversion/libsvn_wc

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 <gs...@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


Re: svn commit: r37419 - trunk/subversion/libsvn_wc

Posted by Greg Stein <gs...@gmail.com>.
oop. meant "update 34"

On Wed, Apr 22, 2009 at 03:45, Greg Stein <gs...@gmail.com> wrote:
> 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 <gs...@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=1853144