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.
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.
-- Brane