-
Notifications
You must be signed in to change notification settings - Fork 821
Closed
Description
When pulling or cloning from a repo, go-git will update submodules if the option is set.
The problem is when calling (*Worktree).updateSubmodules
. It doesn't take the context from a caller.
Lines 151 to 158 in c7feada
func (w *Worktree) updateSubmodules(o *SubmoduleUpdateOptions) error { | |
s, err := w.Submodules() | |
if err != nil { | |
return err | |
} | |
o.Init = true | |
return s.Update(o) | |
} |
It creates new context internally.
Lines 298 to 301 in c7feada
// Update updates all the submodules in this list. | |
func (s Submodules) Update(o *SubmoduleUpdateOptions) error { | |
return s.UpdateContext(context.Background(), o) | |
} |
This can lead to situations where we can't gracefully handle slow fetching of submodules or etc.
Is there any reason that it ignores context from caller?
If there isn't, I think we better pass context to the funciton.
ccoVeille
Metadata
Metadata
Assignees
Labels
No labels