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

