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

Re: FS abstraction and circular dependencies

From: Max Bowsher <maxb_at_ukf.net>
Date: 2004-05-02 01:03:06 CEST

Greg Hudson wrote:
> On Sat, 2004-05-01 at 18:17, Max Bowsher wrote:
>> Attached is a first draft patch, although I've called it libsvn_fs_subr.
>
> Hm. An important thing to call out about your patch is that
> libsvn_fs_subr implements some, but not all, of the FS API, in order
> that FS modules may consume some, but not all, of the public FS API.
>
> I am always a bit nervous about "some, but not all" contracts,
> especially when there is no simple way to spell out what's in the
> "some." So I had actually been assuming that libsvn_fs_subr would
> contain only internal routines, and libsvn_fs (the loader library) would
> wrap around them.

That would be better, yes.
I'll revise the patch to add some trivial wrappers to libsvn_fs so that
clients of the fs api need not link to libsvn_fs_subr.

> When I did the symbol renaming in libsvn_fs_base, I
> went to a bunch of effort to make sure that libsvn_fs_base did not
> consume any of the svn_fs API except for the ID routines; a similar
> amount of effort might still be required for libsvn_fs_fs.

Here is some trimmed objdump output:

DLL name: cygsvn_fs_subr-1-0.dll

svn_fs__canonicalize_abspath
svn_fs__create_id
svn_fs__id_copy
svn_fs__id_copy_id
svn_fs__id_eq
svn_fs__id_node_id
svn_fs_change_txn_prop
svn_fs_check_path
svn_fs_check_related
svn_fs_compare_ids
svn_fs_file_contents
svn_fs_is_file
svn_fs_is_revision_root
svn_fs_is_txn_root
svn_fs_node_id
svn_fs_open_txn
svn_fs_parse_id
svn_fs_purge_txn
svn_fs_revision_root
svn_fs_revision_root_revision
svn_fs_root_fs
svn_fs_txn_root_name
svn_fs_unparse_id
svn_fs_youngest_rev

Max.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun May 2 01:19:30 2004

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.