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