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