On 08.04.2010 23:02, Greg Stein wrote:
Hey all,
It has come up a few times on IRC discussions: "we should never have
exposed libsvn_wc, just libsvn_client".
Well, we've already exposed it, so we need to at least keep that stuff
around. But moving forward... should new functions continue to be
exposed? Or should all new functions go into svn_wc_private.h?
This question is (probably) directed at our (GUI) client developers.
Do you ever use WC functions? And if you do, then which ones? Where is
svn_client.h insufficient, leading you to use svn_wc.h APIs?
Note: I think the separation is a Good Thing, for our benefit, but we
don't necessarily have to expose the WC layer to downstream
developers.
Going through the code of TSVN, I found a few places where we use
functions defined in svn_wc.h:
* svn_wc_adm_probe_open3, used to get the svn_wc_adm_access_t required
for svn_client_uuid_from_path()
* svn_wc_translated_file2
* svn_wc_prop_list
* svn_wc_is_adm_dir
* svn_wc_dup_status2
* svn_wc_get_pristine_copy_path (we don't use
svn_wc_get_pristine_contents because that returns a stream, and we need
a file)
* svn_wc_set_adm_dir
* svn_wc_match_ignore_list
I hope I got all the svn_wc_ functions we use in TSVN listed here. A
code search for this also returns hundreds of hits where we use the
status struct and other defines/enums/structs which are returned and
used by svn_client_ functions, so I might have missed some functions in
those hits.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net