I'm not familiar with GUI progress notification paradigms and the first
example I checked (scp) wasn't too instructive.  Perhaps someone has
a readily available pointer to share?

If not... I'm not sure.  I'm not after svn_grand_unified_progress_func_t,
only after some distraction to let people know that 'svnadmin verify'
hasn't hung.  And STAGE isn't needed yet; it's only there for
adding more information in the future.

So I'll go ahead and change STAGE's type to a pointer to an
declare-but-not-defined struct; if we want to define that struct in
1.next, fine.  Until then, we pass NULL.

Julian Foad wrote on Thu, Jul 14, 2011 at 14:09:11 +0100:
> Daniel Shahaf wrote:
> > Greg Stein wrote on Thu, Jul 14, 2011 at 00:50:21 -0400:
> > > On Wed, Jul 13, 2011 at 22:39,  <danie...@apache.org> wrote:
> > > >  /**
> > > > + * Callback function type for progress notification.
> > > > + *
> > > > + * @a progress is the number of steps already completed, @a total is
> > > > + * the total number of steps in this stage, @a stage is the number of
> > > > + * stages (for extensibility), @a baton is the callback baton.
> > > > + *
> > > > + * @note The number of stages may vary depending on the backend, 
> > > > library
> > > > + * version, and so on.  @a total may be a best-effort estimate.
> > > > + *
> > > > + * @since New in 1.8.
> > > > + */
> > > > +typedef void (*svn_fs_progress_notify_func_t)(apr_off_t progress,
> > > > +                                              apr_off_t total,
> > > > +                                              int stage,
> > > > +                                              void *baton,
> > > > +                                              apr_pool_t 
> > > > *scratch_pool);
> 
> Isn't progress notification pretty much standard in GUI environments -
> are there not standard notification paradigms which you could use, which
> have a notion of "how much out of how much in total" and have some
> string parameter to convey "the thing I'm currently processing" and even
> have the notion of stages?
> 
> I would expect to see us move towards using a single progress callback
> type throughout Subversion instead of an FS-specific thing.
> 
> - Julian
> 
> > > > @@ -315,6 +327,12 @@ typedef struct svn_repos_notify_t
> > > >
> > > > +  /** For #svn_repos_notify_verify_aux_progress;
> > > > +      see svn_fs_progress_notify_func_t. */
> > > > +  apr_off_t progress_progress;
> > > > +  apr_off_t progress_total;
> > > > +  int progress_stage;
> > > 
> > > See above re: apr_off_t. And should "stage" be an integer, or is that
> > > an enumerated constant?
> > 
> > Dunno.  The idea was to not have to revv the API if we ever decide to
> > add some other checks besides rep-cache.db.
> > 
> > Perhaps even a C string instead of either an int (counter) or an
> > enum type (which would be backend and library-version specific).
> > 
> > Ideas welcome.
> 
> 
> 

Reply via email to