On Fri, Jun 18, 2010 at 12:28, Stefan Küng <tortoise...@gmail.com> wrote:
>...
> Since you obviously haven't read my post here:
> http://svn.haxx.se/dev/archive-2010-06/0250.shtml

I read it. I read practically every post on dev@ *AND* most of the
posts to comm...@.

I didn't respond because I didn't like the idea. We've used flag-based
APIs in the past (entry_modify comes to mind), and they all tend to
suck in the long run. They tend to hide what the function is used for,
and make it very hard to reason about the function. For example,
searching thru the code, I find the following:

  svn_wc__entry_modify(db, local_abspath, svn_kind_unknown,
&tmp_entry, modify_flags, scratch_pool);

That tells me nothing about what that call is doing. So I need to open
an editor, look for the call, and track down all assignments to
modify_flags. And I also need to ensure each member of tmp_entry
denoted by modify_flags has been assigned.

Just way too hard to work with, and so we're undoing all of those in libsvn_wc.

At this point, use libsvn_wc APIs if you need to get something done. I
don't care if you need to use them. Others say "only client".
Whatever. The simple fact is: the API isn't "done", so use whatever
you need.

Cheers,
-g

Reply via email to