mercurial/subrepo.py
changeset 14047 30ccb7d03864
parent 14041 bcc6ed0f6c3b
parent 14025 1052b1421a48
child 14049 92db9667d15a
--- a/mercurial/subrepo.py	Thu Apr 28 17:02:39 2011 +0200
+++ b/mercurial/subrepo.py	Sat Apr 30 02:42:05 2011 -0500
@@ -512,7 +512,16 @@
 
     def _svncommand(self, commands, filename=''):
         path = os.path.join(self._ctx._repo.origroot, self._path, filename)
-        cmd = ['svn'] + commands + [path]
+        cmd = ['svn']
+        # Starting in svn 1.5 --non-interactive is a global flag
+        # instead of being per-command, but we need to support 1.4 so
+        # we have to be intelligent about what commands take
+        # --non-interactive.
+        if (not self._ui.interactive() and
+            commands[0] in ('update', 'checkout', 'commit')):
+            cmd.append('--non-interactive')
+        cmd.extend(commands)
+        cmd.append(path)
         env = dict(os.environ)
         # Avoid localized output, preserve current locale for everything else.
         env['LC_MESSAGES'] = 'C'