Branko Čibej <br...@wandisco.com> writes: > 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
Only svnrdump is affected, svnadmin doesn't prompt. > 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. The sort of cases where the user will have to type --force-interactive are: svn commit -F - svn propset --revprop -rN -F - svn commit --targets - svnmucc put - Those look like commands that would be used in scripts rather than interactively, I think it will be rare for the user to type one of those and then have to type the long option --force-interactive. That leaves "svnrdump load" as the single place a user will type the short option. I can see "svnrdump load" being used from the command line but not repeatedly the way one uses "svn commit". I'm not convinced a short option is necessary. > 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. I note that svnmucc already has a short option -n as an alias for --non-interactive. We are promoting svnmucc from "tools" to "bin" so I think we should make it consistent with our other clients and get rid of the anomalous -n. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download