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

Reply via email to