diff options
Diffstat (limited to 'modules/git/command.go')
-rw-r--r-- | modules/git/command.go | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/modules/git/command.go b/modules/git/command.go index e7496f072c..3cf85c2d85 100644 --- a/modules/git/command.go +++ b/modules/git/command.go @@ -143,8 +143,13 @@ func (c *Command) RunWithContext(rc *RunContext) error { log.Debug("%s: %v", rc.Dir, c) } - ctx, cancel := context.WithTimeout(c.parentContext, rc.Timeout) - defer cancel() + desc := c.desc + if desc == "" { + desc = fmt.Sprintf("%s %s [repo_path: %s]", c.name, strings.Join(c.args, " "), rc.Dir) + } + + ctx, cancel, finished := process.GetManager().AddContextTimeout(c.parentContext, rc.Timeout, desc) + defer finished() cmd := exec.CommandContext(ctx, c.name, c.args...) if rc.Env == nil { @@ -172,13 +177,6 @@ func (c *Command) RunWithContext(rc *RunContext) error { return err } - desc := c.desc - if desc == "" { - desc = fmt.Sprintf("%s %s %s [repo_path: %s]", GitExecutable, c.name, strings.Join(c.args, " "), rc.Dir) - } - pid := process.GetManager().Add(desc, cancel) - defer process.GetManager().Remove(pid) - if rc.PipelineFunc != nil { err := rc.PipelineFunc(ctx, cancel) if err != nil { |