diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2019-09-25 19:54:37 +0300 |
---|---|---|
committer | John Cai <jcai@gitlab.com> | 2019-09-25 19:54:37 +0300 |
commit | 5562840ddedc67ae94b0387cc7aacb6ad98060bd (patch) | |
tree | ee9569ea5ae6a514f6c60781c3e96db069fd05bc | |
parent | afe710b7cbe1873b44171b196311ef2e0c699148 (diff) |
CreateFork: use git.SafeBareCmd
-rw-r--r-- | internal/service/repository/fork.go | 17 | ||||
-rw-r--r-- | internal/service/repository/fork_test.go | 10 |
2 files changed, 13 insertions, 14 deletions
diff --git a/internal/service/repository/fork.go b/internal/service/repository/fork.go index 80a1d0071..314c39be3 100644 --- a/internal/service/repository/fork.go +++ b/internal/service/repository/fork.go @@ -78,15 +78,14 @@ func (s *server) CreateFork(ctx context.Context, req *gitalypb.CreateForkRequest } env = envInjector(ctx, env) - args := []string{ - "clone", - "--bare", - "--no-local", - "--", - fmt.Sprintf("%s:%s", gitalyInternalURL, sourceRepository.RelativePath), - targetRepositoryFullPath, - } - cmd, err := git.BareCommand(ctx, nil, nil, nil, env, args...) + cmd, err := git.SafeBareCmd(ctx, nil, nil, nil, env, nil, git.SubCmd{ + Name: "clone", + Flags: []git.Option{git.Flag{"--bare"}, git.Flag{"--no-local"}}, + PostSepArgs: []string{ + fmt.Sprintf("%s:%s", gitalyInternalURL, sourceRepository.RelativePath), + targetRepositoryFullPath, + }, + }) if err != nil { return nil, status.Errorf(codes.Internal, "CreateFork: clone cmd start: %v", err) } diff --git a/internal/service/repository/fork_test.go b/internal/service/repository/fork_test.go index 8fb4279f8..9e595bb3c 100644 --- a/internal/service/repository/fork_test.go +++ b/internal/service/repository/fork_test.go @@ -36,17 +36,17 @@ func TestSuccessfulCreateForkRequest(t *testing.T) { StorageName: testRepo.StorageName, } + forkedRepoPath, err := helper.GetPath(forkedRepo) + require.NoError(t, err) + require.NoError(t, os.RemoveAll(forkedRepoPath)) + req := &gitalypb.CreateForkRequest{ Repository: forkedRepo, SourceRepository: testRepo, } - _, err := client.CreateFork(ctx, req) - require.NoError(t, err) - - forkedRepoPath, err := helper.GetRepoPath(forkedRepo) + _, err = client.CreateFork(ctx, req) require.NoError(t, err) - defer os.RemoveAll(forkedRepoPath) testhelper.MustRunCommand(t, nil, "git", "-C", forkedRepoPath, "fsck") |