@@ -218,9 +218,9 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out
218
218
} else {
219
219
set inFile = " "
220
220
}
221
-
221
+ // Want to invoke merge conflict autoresolver in case of issues
222
222
set returnCode = ##class (SourceControl.Git.Utils ).RunGitCommandWithInput (" -c" ,inFile ,.errStream ,.outStream ,gitArgs ...)
223
-
223
+
224
224
set %data = ##class (%Stream.TmpCharacter ).%New ()
225
225
set changeTerminators = (%data .LineTerminator '= $char (13 ,10 ))
226
226
set %data .LineTerminator = $char (13 ,10 ) // For the CSPGateway.
@@ -284,24 +284,48 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out
284
284
}
285
285
286
286
set inFile = " "
287
+ if (gitCmd = " stash" ) {
288
+ set st = ##class (SourceControl.Git.Utils ).RunGitAndHandleMerge (" -c" ,inFile , .resolver , .succeeded , .returnCode , .errStream , .outStream , argsArr ...)
289
+
290
+ set %data = ##class (%Stream.TmpCharacter ).%New ()
291
+ set changeTerminators = (%data .LineTerminator '= $char (13 ,10 ))
292
+ set %data .LineTerminator = $char (13 ,10 ) // For the CSPGateway.
293
+ do outStream .Rewind ()
294
+
295
+ // Don't show merge error if merge succeeded
296
+ if succeeded {
297
+ do %data .WriteLine (outStream .ReadLine ())
298
+ do %data .WriteLine (" Git-Stderr-Length: " _ 0 )
299
+ } else {
300
+ set nLines = 0
301
+ do errStream .Rewind ()
302
+ while 'errStream .AtEnd {
303
+ do %data .WriteLine (errStream .ReadLine ())
304
+ set :changeTerminators nLines = nLines + 1
305
+ }
306
+ do %data .WriteLine (" Git-Stderr-Length: " _ (errStream .Size + nLines ))
307
+ }
308
+ do %data .Write (" Git-Return-Code: " _ returnCode ) // No ending newline expected
309
+ do %data .Rewind ()
310
+ } else {
311
+ set returnCode = ##class (SourceControl.Git.Utils ).RunGitCommandWithInput (" -c" , inFile , .errStream , .outStream , argsArr ...)
312
+ set %data = ##class (%Stream.TmpCharacter ).%New ()
313
+ set changeTerminators = (%data .LineTerminator '= $char (13 ,10 ))
314
+ set %data .LineTerminator = $char (13 ,10 ) // For the CSPGateway.
315
+ while 'outStream .AtEnd {
316
+ do %data .WriteLine (outStream .ReadLine ())
317
+ }
287
318
288
- set returnCode = ##class (SourceControl.Git.Utils ).RunGitCommandWithInput (" -c" , inFile , .errStream , .outStream , argsArr ...)
289
- set %data = ##class (%Stream.TmpCharacter ).%New ()
290
- set changeTerminators = (%data .LineTerminator '= $char (13 ,10 ))
291
- set %data .LineTerminator = $char (13 ,10 ) // For the CSPGateway.
292
- while 'outStream .AtEnd {
293
- do %data .WriteLine (outStream .ReadLine ())
294
- }
319
+ set nLines = 0
320
+ while 'errStream .AtEnd {
321
+ do %data .WriteLine (errStream .ReadLine ())
322
+ set :changeTerminators nLines = nLines + 1
323
+ }
295
324
296
- set nLines = 0
297
- while 'errStream .AtEnd {
298
- do %data .WriteLine (errStream .ReadLine ())
299
- set :changeTerminators nLines = nLines + 1
325
+ do %data .WriteLine (" Git-Stderr-Length: " _ (errStream .Size + nLines ))
326
+ do %data .Write (" Git-Return-Code: " _ returnCode ) // No ending newline expected
327
+ do %data .Rewind ()
300
328
}
301
-
302
- do %data .WriteLine (" Git-Stderr-Length: " _ (errStream .Size + nLines ))
303
- do %data .Write (" Git-Return-Code: " _ returnCode ) // No ending newline expected
304
- do %data .Rewind ()
305
329
set handled = 1
306
330
307
331
// Make sure discarded items are not in the uncommitted queue
0 commit comments