On 18.03.2013 16:12, phi...@tigris.org wrote: > http://subversion.tigris.org/issues/show_bug.cgi?id=3913 > > ------- Additional comments from phi...@tigris.org Mon Mar 18 08:12:42 -0700 > 2013 ------- > The current behaviour is a deliberate design, see the log for r1424037. The > clients automatically switch to non-interactive when stdin is not a terminal > as > that prevents scripts hanging in some circumstances and --force-interactive > was > introduced to allow the user to override that decision.
Given that there are several cases where this decision (to assume --non-interactive if stdin is not a terminal) may lead to somewhat unexpected behaviour, I propose the following: * Leave the --non-interactive assumption as it now stands. One could argue that, e.g., "svnrdump load" or "svnadmin load", which behave like stream filters, should behave differently -- however, the purpose of the assume-non-interactive change was to avoid the cases where automated scripts would unexpectedly hang waiting for input (possibly, in the case of post-commit scripts, resulting in a minor DoS) instead of returning an error when, e.g., required credentials are not available. It is, in my opinion, much better overall to be consistent. * To mitigate the circumstance that users will now more often have to type --force-interactive on the command line, I propose we allocate one of our carefully-hoarded single-letter options for this behaviour. I propose -i, which aligns with similar options of standard unix tools, e.g., rm, cp, mv, expect, etc. Neither -i nor -I (an alternative, though less desirable spelling) are currently used by the command-line client. Note that I do /not/ propose that we similarly make -f an alias for --non-interactive, because the latter is much less likely to be used by command-line users than by scripts. -- Brane -- Branko Čibej Director of Subversion | WANdisco | www.wandisco.com