Only write to global gitconfig if necessary (#11876)
* Only write to global gitconfig if necessary Fix #11855 Signed-off-by: Andrew Thornton <art27@cantab.net> * placate lint Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
48842ed108
commit
ae3cfa8449
2 changed files with 65 additions and 25 deletions
|
@ -157,7 +157,14 @@ func (pm *Manager) ExecDirEnvStdIn(timeout time.Duration, dir, desc string, env
|
|||
pm.Remove(pid)
|
||||
|
||||
if err != nil {
|
||||
err = fmt.Errorf("exec(%d:%s) failed: %v(%v) stdout: %v stderr: %v", pid, desc, err, ctx.Err(), stdOut, stdErr)
|
||||
err = &Error{
|
||||
PID: pid,
|
||||
Description: desc,
|
||||
Err: err,
|
||||
CtxErr: ctx.Err(),
|
||||
Stdout: stdOut.String(),
|
||||
Stderr: stdErr.String(),
|
||||
}
|
||||
}
|
||||
|
||||
return stdOut.String(), stdErr.String(), err
|
||||
|
@ -176,3 +183,22 @@ func (l processList) Less(i, j int) bool {
|
|||
func (l processList) Swap(i, j int) {
|
||||
l[i], l[j] = l[j], l[i]
|
||||
}
|
||||
|
||||
// Error is a wrapped error describing the error results of Process Execution
|
||||
type Error struct {
|
||||
PID int64
|
||||
Description string
|
||||
Err error
|
||||
CtxErr error
|
||||
Stdout string
|
||||
Stderr string
|
||||
}
|
||||
|
||||
func (err *Error) Error() string {
|
||||
return fmt.Sprintf("exec(%d:%s) failed: %v(%v) stdout: %s stderr: %s", err.PID, err.Description, err.Err, err.CtxErr, err.Stdout, err.Stderr)
|
||||
}
|
||||
|
||||
// Unwrap implements the unwrappable implicit interface for go1.13 Unwrap()
|
||||
func (err *Error) Unwrap() error {
|
||||
return err.Err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue