On Fri, May 31, 2019 at 7:14 AM Shane Curcuru <a...@shanecurcuru.org> wrote:
>
> Attempting to run the roster tool locally, after having *thought* I set
> everything up for it, I get:
>
> Unable to find svn checkout for https://svn.apache.org/repos/member_apps
>
> From lib/whimsy/asf/memapps.rb:12
>
> As a specific question and a general one: is there any way to make basic
> roster functionality degrade gracefully, instead of just dying before it
> displays even the welcome page?
>
> I suppose it's only an issue for local developers, since the server
> should always have all-the-repos.  But it somehow feels like scripts for
> non-critical data - like member application PDFs - should silently fail
> unless someone's actually attempting to edit that data.
>
> The larger question is: are there scripts that could degrade when an
> ASF::SVN call fails, instead of just barfing?  I.e. catch whatever
> errors might happen, and then degrade performance when attempting to use
> those resources later, instead of completely dying.  I guess this is
> just a general reminder to ponder how we do holistic error checking.

https://whimsy.apache.org/docs/api/ASF/SVN.html

ASF::SVN['x'] throws an exception if 'x' is not found.
ASF::SVN.find('x') returns nil if 'x' is not found.

ASF::SVN.find was there first, and apps either degraded gracefully or
blew up trying to dereference nil.  Over time, I found degrading
gracefully in most cases was annoying as things would work differently
locally without explaining why.  And an explicit error was better than
a nil pointer exception.

> Anyway, this probably isn't important, and after checking out
> member_apps, my whimsy.local/roster now dies with a 502 error, so
> there's something else to fix instead! 8-)
>
> --
>
> - Shane
>   Whimsy PMC
>   The Apache Software Foundation

Reply via email to