diff --git a/gitfourchette/tasks/repotask.py b/gitfourchette/tasks/repotask.py index 6f082cbf..1b44d163 100644 --- a/gitfourchette/tasks/repotask.py +++ b/gitfourchette/tasks/repotask.py @@ -503,6 +503,9 @@ def flowStartProcess(self, process: QProcess, autoFail=True, stdin: str = "") -> yield from processWrapper.coWaitStart() if stdin: process.write(stdin.encode("utf-8")) + # Close the write channel so children that read stdin to EOF + # (e.g. 'git lfs smudge') don't block forever. + process.closeWriteChannel() yield from processWrapper.coWaitFinished(autoFail) finally: self._currentProcess = None