diff options
Diffstat (limited to 'internal/git')
-rw-r--r-- | internal/git/objectpool/clone.go | 2 | ||||
-rw-r--r-- | internal/git/objectpool/pool.go | 2 | ||||
-rw-r--r-- | internal/git/reference.go | 2 | ||||
-rw-r--r-- | internal/git/safecmd.go | 8 | ||||
-rw-r--r-- | internal/git/safecmd_test.go | 2 |
5 files changed, 9 insertions, 7 deletions
diff --git a/internal/git/objectpool/clone.go b/internal/git/objectpool/clone.go index 255018482..dd7b60350 100644 --- a/internal/git/objectpool/clone.go +++ b/internal/git/objectpool/clone.go @@ -17,7 +17,7 @@ func (o *ObjectPool) clone(ctx context.Context, repo *gitalypb.Repository) error return err } - cmd, err := git.SafeBareCmd(ctx, nil, + cmd, err := git.NewCommandWithoutRepo(ctx, nil, git.SubCmd{ Name: "clone", Flags: []git.Option{ diff --git a/internal/git/objectpool/pool.go b/internal/git/objectpool/pool.go index 6e2fbf64f..9e6ad046c 100644 --- a/internal/git/objectpool/pool.go +++ b/internal/git/objectpool/pool.go @@ -124,7 +124,7 @@ func (o *ObjectPool) Init(ctx context.Context) (err error) { return nil } - cmd, err := git.SafeBareCmd(ctx, nil, + cmd, err := git.NewCommandWithoutRepo(ctx, nil, git.SubCmd{ Name: "init", Flags: []git.Option{ diff --git a/internal/git/reference.go b/internal/git/reference.go index 12a2eb828..269f3db69 100644 --- a/internal/git/reference.go +++ b/internal/git/reference.go @@ -48,7 +48,7 @@ func CheckRefFormat(ctx context.Context, refName string) (bool, error) { stdout := &bytes.Buffer{} stderr := &bytes.Buffer{} - cmd, err := SafeBareCmd(ctx, nil, + cmd, err := NewCommandWithoutRepo(ctx, nil, SubCmd{ Name: "check-ref-format", Args: []string{refName}, diff --git a/internal/git/safecmd.go b/internal/git/safecmd.go index 79e81691e..8c4e29dce 100644 --- a/internal/git/safecmd.go +++ b/internal/git/safecmd.go @@ -374,9 +374,11 @@ func SafeCmd(ctx context.Context, repo repository.GitRepo, globals []GlobalOptio }, repo, args...) } -// SafeBareCmd creates a git.Command with the given args. It -// validates the arguments in the command before executing. -func SafeBareCmd(ctx context.Context, globals []GlobalOption, sc Cmd, opts ...CmdOpt) (*command.Command, error) { +// NewCommandWithoutRepo creates a command.Command with the given args. It is not +// connected to any specific git repository. It should only be used for +// commands which do not require a git repository or which accept a repository +// path as parameter like e.g. git-upload-pack(1). +func NewCommandWithoutRepo(ctx context.Context, globals []GlobalOption, sc Cmd, opts ...CmdOpt) (*command.Command, error) { cc := &cmdCfg{} if err := handleOpts(ctx, sc, cc, opts); err != nil { diff --git a/internal/git/safecmd_test.go b/internal/git/safecmd_test.go index 26099a2bd..3b0b2ba2d 100644 --- a/internal/git/safecmd_test.go +++ b/internal/git/safecmd_test.go @@ -340,7 +340,7 @@ func TestSafeCmdValid(t *testing.T) { // ignore first 3 indeterministic args (executable path and repo args) require.Equal(t, tt.expectArgs, cmd.Args()[3:]) - cmd, err = SafeBareCmd(ctx, tt.globals, tt.subCmd, opts...) + cmd, err = NewCommandWithoutRepo(ctx, tt.globals, tt.subCmd, opts...) require.NoError(t, err) // ignore first indeterministic arg (executable path) require.Equal(t, tt.expectArgs, cmd.Args()[1:]) |