From 3536053b44b3007d4c1bd1462ead784221c7fcef Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Tue, 23 Jun 2026 13:33:11 +0200 Subject: [PATCH] fix: pre-write SVN password to stdin to avoid deadlock on prompt --- svn_mirror/mirror.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/svn_mirror/mirror.py b/svn_mirror/mirror.py index c2d567e..dfcee7f 100644 --- a/svn_mirror/mirror.py +++ b/svn_mirror/mirror.py @@ -232,13 +232,16 @@ class Mirror: text=True, ) + # git svn prompts for password on stderr (no newline) and reads from + # stdin. Write password immediately so it's buffered for the prompt. + if password: + process.stdin.write(password + "\n") + process.stdin.flush() + for line in process.stdout or []: line = line.rstrip() if line: logger.info("[git svn] %s", line) - if "Password for" in line and password: - process.stdin.write(password + "\n") - process.stdin.flush() ret = process.wait() if ret != 0: