In poking around libsvn_repos lately, I've found a somewhat neglected corner of the library: the notification system. Several functions return notifications back to the caller (typically 'svnadmin'), but they all use different callback types. In the case of svn_repos_load_fs2(), the output is generated directly inside of libsvn_repos(!), and just fed into a stream the caller provides.
I think we can unify the notifications in libsvn_repos without too much difficulty by emulating the svn_wc_notify_t framework. It would give callers much more fine-grained control over knowing what is going on in the process, rather than having to parse a stream or implement 3 different callbacks. With the prevalence of remove-administration tools, I think this is a good benefit. My one concern is that this will be too much overhead for something like load, which creates lots of notifications. (Actually, load could probably just reuse the same baton, resetting values differently each time. Hmmm....) Thoughts? -Hyrum