[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] remove svn_wc_entry_t from export.c

From: Paul Burba <ptburba_at_gmail.com>
Date: Fri, 2 Oct 2009 10:37:18 -0400

Dave,

Just a heads up, I committed some changes in r39757 which overlap with
your patch's new svn_wc__node_is_delete() API.

My patch uses the name svn_wc__node_is_status_delete() and only checks
for status == svn_wc__db_status_deleted rather than also checking for
svn_wc__db_status_obstructed_delete as your patch does. I'm not sure
if one function should conflate the meanings of
svn_wc__db_status_deleted and
svn_wc__db_status_obstructed_delete...but I welcome enlightenment from
those more knowledgeable in this area.

Paul

On Wed, Sep 30, 2009 at 2:01 PM, Hyrum K. Wright
<hyrum_wright_at_mail.utexas.edu> wrote:
>
> On Sep 30, 2009, at 1:46 PM, Stefan Sperling wrote:
>
>> On Wed, Sep 30, 2009 at 01:26:01PM -0400, Paul Burba wrote:
>>>
>>> On Tue, Sep 29, 2009 at 8:57 AM, Stefan Sperling <stsp_at_elego.de> wrote:
>>>>
>>>> This should be called "svn_wc__node_is_deleted" (past tense).
>>>> There is a function with that name in entries.c already.
>>>> The existing function expects a wc_db rather than a wc_ctx.
>>>> and has a comment saying that it wants to be updated to wc_db.
>>>>
>>>> Looks like your new function is almost a drop-in replacement.
>>>
>>> Hi Stefan,
>>>
>>> libsvn_wc/entries.c:svn_wc__node_is_deleted() is actually asking about
>>> the 'deleted' member of svn_wc_entry_t not the 'schedule' member.
>>>
>>> entry->deleted and entry->schedule == svn_wc_schedule_delete are
>>> different beasts:
>>>
>>>  /** The directory containing this entry had a versioned child of this
>>>  * name, but this entry represents a different revision or a switched
>>>  * path at which no item exists in the repository. This typically
>>>  * arises from committing or updating to a deletion of this entry
>>>  * without committing or updating the parent directory.
>>>  *
>>>  * The schedule can be 'normal' or 'add'. */
>>>  svn_boolean_t deleted;
>>>
>>>  /** scheduling (add, delete, replace ...) */
>>>  svn_wc_schedule_t schedule;
>>
>> Oh, right. Thanks for pointing that out.
>>
>> I guess the functions should contain the word "schedule" then.
>>
>> What about:
>>        svn_wc__node_is_schedule_add()
>>        svn_wc__node_is_schedule_delete()
>
> I caution you put put on your asbestos underwear before Greg gets to this
> thread.
>
> The concept of "schedule" is obsolete.  Done.  Toast.  Fini.
> I suggest you *strongly* rethink anything re-adding those terms to the API
> nomenclature.
>
> -Hyrum
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2402951
Received on 2009-10-02 16:37:38 CEST

This is an archived mail posted to the Subversion Dev mailing list.