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

Re: Consolidating private/svn_subr_private.h

From: Branko Čibej <brane_at_wandisco.com>
Date: Wed, 05 Sep 2012 12:35:35 +0200

On 05.09.2012 11:47, Daniel Shahaf wrote:
> Greg Stein wrote on Tue, Sep 04, 2012 at 23:11:24 -0400:
>> On Sep 4, 2012 5:47 PM, "Daniel Shahaf" <d.s_at_daniel.shahaf.name> wrote:
>>> Stefan Fuhrmann wrote on Tue, Sep 04, 2012 at 22:03:54 +0200:
>>>> Hi there,
>>>>
>>>> While looking for the appropriate place to declare a few
>>>> svn-private constants, I realized that libsvn_subr is the
>>>> only lib that comes with multiple private headers.
>>>>
>>> Why is that a problem?
>> Every other library has a single private header. With subr, you gotta go
>> search every time to see if the declaration is in svn_subr_private.h, or
>> some other random header. It's a scattered mess.
>>
> For me it's not a problem as I use ctags.
>
>> Unifying the APIs into a single library header would be a huge improvement.
>>
> Not necessarily, small files are better for some tasks (eg:
> searching/greping) than large ones.
[...]
> How about splitting svn_subr_private.h to svn_spillbuf_private.h,
> svn_checksum_private.h, svn_hash_private.h, and removing
> svn_subr_private.h?

Our public API does not have one header per library, it has one header
per module. I fail to see why the private API shouldn't have the same
model. The argument that having one private header for libsvn_subr makes
it easier to write code spills over to the public APIs, too, and one
might as well argue that we should have a single "svn.h" instead of the
dozen or so public headers that we have. Formally, only our
compatibility guarantees prevent anyone from making such a suggestion,
but I sure hope other considerations would come to mind, too. :)

-- Brane

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download
Received on 2012-09-05 12:36:16 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.