@@ -83,7 +83,7 @@ public OutputChecker(
8383
8484 private readonly Lazy < bool > DoesGitWork ;
8585
86- private Process StartGitProcess ( System . Text . Encoding encoding , params string [ ] args )
86+ private Process StartGitProcess ( params string [ ] args )
8787 {
8888#if DEBUG
8989 Console . WriteLine ( "Running git command: " + string . Join ( " " , args ) ) ;
@@ -97,8 +97,8 @@ private Process StartGitProcess(System.Text.Encoding encoding, params string[] a
9797 RedirectStandardError = true ,
9898 RedirectStandardInput = true ,
9999 CreateNoWindow = true ,
100- StandardOutputEncoding = encoding ,
101- StandardErrorEncoding = encoding ,
100+ StandardOutputEncoding = System . Text . Encoding . UTF8 ,
101+ StandardErrorEncoding = System . Text . Encoding . UTF8 ,
102102 } ;
103103 foreach ( var a in args )
104104 procInfo . ArgumentList . Add ( a ) ;
@@ -125,7 +125,7 @@ private void HandleProcessExit(Process proc, Task outputReaderTask, params strin
125125
126126 private string [ ] RunGitCommand ( params string [ ] args )
127127 {
128- var proc = StartGitProcess ( System . Text . Encoding . UTF8 , args ) ;
128+ var proc = StartGitProcess ( args ) ;
129129
130130 var outputLines = new List < string > ( ) ;
131131 var outputReaderTask = Task . Run ( ( ) =>
@@ -147,24 +147,24 @@ private byte[] RunGitBinaryCommand(params string[] args)
147147 {
148148 const int BUFFER_SIZE = 1024 ;
149149
150- var proc = StartGitProcess ( System . Text . Encoding . ASCII , args ) ;
150+ var proc = StartGitProcess ( args ) ;
151151
152- List < char > ret = new ( ) ;
152+ List < byte > ret = new ( ) ;
153153
154154 var outputReaderTask = Task . Run ( ( ) =>
155155 {
156- char [ ] buffer = new char [ BUFFER_SIZE ] ;
156+ byte [ ] buffer = new byte [ BUFFER_SIZE ] ;
157157
158158 int charsRead = 0 ;
159- while ( ( charsRead = proc . StandardOutput . ReadBlock ( buffer , 0 , BUFFER_SIZE ) ) != 0 )
159+ while ( ( charsRead = proc . StandardOutput . BaseStream . Read ( buffer , 0 , BUFFER_SIZE ) ) != 0 )
160160 {
161161 ret . AddRange ( buffer . AsSpan ( 0 , charsRead ) . ToArray ( ) ) ;
162162 }
163163 } ) ;
164164
165165 HandleProcessExit ( proc , outputReaderTask , args ) ;
166166
167- return ret . ConvertAll ( c => ( byte ) c ) . ToArray ( ) ;
167+ return ret . ToArray ( ) ;
168168 }
169169
170170 static string [ ] ReadAllLines ( StreamReader reader )
0 commit comments