Avatar
そこらへんは見たんですけど
1:56 PM
Process クラスは、redirectOutput が true だと ↑のコードを使って
1:56 PM
サブプロセスのstdout と stderr をパイプにつなげた上で、
1:57 PM
それがcloseされるまでreadしつづけて、closeされた完全なバイト列を 変数に保存するだけのスレッドを立ち上げて
1:57 PM
waitUntilExitメソッドではそのスレッドの完了をjoinで待つんですね
1:57 PM
なので、Processクラスが出力を捕まえることまではわかっているんですが
1:57 PM
gitのcloneやfetchの操作をするところでは
1:58 PM
それをラップしたcheckNonZeroExitメソッドを叩いて結果を捨てていて
1:58 PM
Processクラスが捕まえた結果を、 SwiftPM自体の出力として改めて流す処理が見当たらなくて
1:59 PM
読んだ範囲だとキャプチャするだけで出力してないので、現状の挙動とも一致しなくて謎です。