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

Re: Combine and rename WC APIs that check WC root and switched

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 4 Dec 2012 22:44:43 +0000 (GMT)

Bert Huijben wrote:
> 1 is new and should be the new public api (feel free to change
> it to a better name and make 3 match it). 2 is the internal api
> from before the introduction of 1 and 3.

> 4 is the old ill-defined public api and 5 the better defined
> variant. I would make these new functions just check for ‘wcroot’,
> not ’strictly’ as that is just a pointer to the ill-definedness
> which should be gone now.
>
> The wcroot is now just the root of the working copy, and not also
> every switched subdir too as it used to be with the old apis.

Thanks.  Will do.

- Julian

> Julian Foad wrote:
>> These six APIs all overlap in functionality:
>>
>> 1) svn_wc_check_root(*is_wcroot,*is_switched,*kind,...)
>>     2 uses in 2 files
>>
>> 2) svn_wc__check_wc_root(*wc_root,*kind,*switched,...)
>>     5 uses in 4 files
>>
>> 3) svn_wc__db_is_switched(*is_wcroot,*is_switched,*kind,...)
>>     5 uses in 4 files
>>
>> 4) svn_wc_is_wc_root2(*wc_root,...)
>>     1 use in 1 file (deprecated.c)
>>
>> 5) svn_wc__strictly_is_wc_root(*wc_root,...)
>>     5 uses in 5 files
>>
>> 6) svn_wc__db_is_wcroot(*is_root,...)
>>     15 uses in 6 files
>>
>>
>> The first three are functionally identical AFAICT.  The duplication adds noise
>> to the WC internal API as a whole.  The first to go is svn_wc__check_wc_root()
>> ... gone, r1417181+r1417184.
>>
>>
>> Now, (1) is a simple wrapper around (3) and (5) is a simple wrapper around (6). 
>> Such pairs should have matching names.  (1) is public so can't change, so
>> I'll rename (3) to match it:
>
> Actually (1) is new for v1.8 so we *can* change it if we want.
>
>>
>> (3) -> 'svn_wc__db_check_root'
>>
>> and (5) is named 'strictly' to distinguish it from (4), so I'll
>> leave it alone and rename (6) to match it:
>>
>> (6) -> 'svn_wc__db_strictly_is_wc_root'.
>>
>> That should help reduce the obfuscation a tiny bit.
Received on 2012-12-04 23:45:19 CET

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