On Fri, 24 Jul 2026 at 15:06, Branko Čibej <[email protected]> wrote:

> On 24. 7. 2026 13:57, Daniel Sahlberg wrote:
>
> Den fre 24 juli 2026 kl 13:30 skrev Branko Čibej <[email protected]>:
>
>> On 24. 7. 2026 13:23, Branko Čibej wrote:
>>
>> On 24. 7. 2026 13:20, Ivan Zhakov wrote:
>>
>> On Sat, 18 Jul 2026 at 18:27, Nathan Hartman <[email protected]>
>> wrote:
>> > I'm glad there's a good bit of housecleaning going on around here.
>> > We've accumulated so much cruft over the years, it makes my
>> > head spin. +1 to axe the ctypes bindings.
>>
>> Speaking of cleanups, another candidate comes to mind: the BDB FS
>> backend. I think now would be an appropriate time to remove it:
>>
>>
>>
>> We can't remove it before 2.0. It doesn't matter that it's deprecated,
>> it's part of the published 1.0 feature set.
>>
>>
>>
>> Just to be clear: the existence of the BDB back-end is equivalent to a
>> public API. We have many deprecated public APIs that we can't remove for
>> the same reason.
>>
>> -- Brane
>>
>
> [...]

> This was discussed previously [1] and we even received a bug report from
> FreeBSD that it doesn't work [2]. In the first link Yasuhito Futatsuki was
> of the opposite opinion: the FS type is not a public API. I tend to side
> with him but I could be convinced otherwise.
>
> As Yasuhito point out, SVN_FS_TYPE_BDB is a public API which we need to
> keep. I didn't study details but I assume the code in libsvn_fs_base only
> implement a filesystem API reachable via the fs loader (this is way over my
> paygrade so please educate me if I misunderstand something!). In that
> case, we won't break anyone's code so anything that compiles under 1.14
> will still compile under 1.16, but it it would not be able to load the BDB
> FS backend (just as if you didn't compile it in the first place).
>
> Of course - we would force anyone using a BDB backend to do a
> dump-and-reload cycle as part of their upgrade.
>
> Provided my understanding above is correct, I'm in favour of removing BDB.
>
>
>
> What do we do with older clients that link with libsvn_fs_base when a
> library upgrade makes that go away? At the very least we'd have to keep a
> stub that implements all exported functions, or we break the ABI.
>
>
As far as I see libsvn_fs_base functions are not publicly exported. We have
some BDB FS specific functions [1] in libsvn_fs, but they already stub to
newer API and I agree we should keep them.


> In other words, even if we decide that removing BDB support isn't an API
> violation, we can't do this in 1.15 because it's not a trivial change of
> removing a directory and a couple lines from build.conf.
>
> I agree and I don't think we should be doing anything about BDB in 1.15 at
this point (except for release notes). The proposed plan was about removing
it in trunk / 1.16.

[1]:
https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.c?revision=1936528&pathrev=1936528&view=markup#l786

-- 
Ivan Zhakov

Reply via email to