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

Reply via email to