diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2019-11-08 11:19:20 +0300 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2019-11-08 11:19:20 +0300 |
commit | fb4df98cb00fa5f9fafa51c03f055f1d0d14c74c (patch) | |
tree | 82ca50b732ba60d65ef35d19df0a03a35516c39c /internal/git | |
parent | 751b5899fc2de4b452e7a36e896bf10b048dd1f0 (diff) | |
parent | 6a063adc84153b9cc933ddd1df21f4b293da4ec6 (diff) |
Merge branch 'po-dsl-objectpool-fetch' into 'master'
Update fetch.go to use command DSL
Closes #1937, #1938, #1939, #1940, #1941, #1942, and #1943
See merge request gitlab-org/gitaly!1604
Diffstat (limited to 'internal/git')
-rw-r--r-- | internal/git/objectpool/fetch.go | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/internal/git/objectpool/fetch.go b/internal/git/objectpool/fetch.go index 6230bb049..2eae85b17 100644 --- a/internal/git/objectpool/fetch.go +++ b/internal/git/objectpool/fetch.go @@ -32,7 +32,7 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos return err } - getRemotes, err := git.Command(ctx, o, "remote") + getRemotes, err := git.SafeCmd(ctx, o, nil, git.SubCmd{Name: "remote"}) if err != nil { return err } @@ -51,12 +51,18 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos var setOriginCmd *command.Command if originExists { - setOriginCmd, err = git.Command(ctx, o, "remote", "set-url", sourceRemote, originPath) + setOriginCmd, err = git.SafeCmd(ctx, o, nil, git.SubCmd{ + Name: "remote", + Args: []string{"set-url", sourceRemote, originPath}, + }) if err != nil { return err } } else { - setOriginCmd, err = git.Command(ctx, o, "remote", "add", sourceRemote, originPath) + setOriginCmd, err = git.SafeCmd(ctx, o, nil, git.SubCmd{ + Name: "remote", + Args: []string{"add", sourceRemote, originPath}, + }) if err != nil { return err } @@ -71,7 +77,11 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos } refSpec := fmt.Sprintf("+refs/*:%s/*", sourceRefNamespace) - fetchCmd, err := git.Command(ctx, o, "fetch", "--quiet", sourceRemote, refSpec) + fetchCmd, err := git.SafeCmd(ctx, o, nil, git.SubCmd{ + Name: "fetch", + Flags: []git.Option{git.Flag{"--quiet"}}, + Args: []string{sourceRemote, refSpec}, + }) if err != nil { return err } @@ -88,7 +98,10 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos return err } - packRefs, err := git.Command(ctx, o, "pack-refs", "--all") + packRefs, err := git.SafeCmd(ctx, o, nil, git.SubCmd{ + Name: "pack-refs", + Flags: []git.Option{git.Flag{"--all"}}, + }) if err != nil { return err } @@ -110,7 +123,10 @@ const danglingObjectNamespace = "refs/dangling" // an object is still used anywhere, so the only safe thing to do is to // assume that every object _is_ used. func rescueDanglingObjects(ctx context.Context, repo repository.GitRepo) error { - fsck, err := git.Command(ctx, repo, "fsck", "--connectivity-only", "--dangling") + fsck, err := git.SafeCmd(ctx, repo, nil, git.SubCmd{ + Name: "fsck", + Flags: []git.Option{git.Flag{"--connectivity-only"}, git.Flag{"--dangling"}}, + }) if err != nil { return err } @@ -149,13 +165,15 @@ func rescueDanglingObjects(ctx context.Context, repo repository.GitRepo) error { } func repackPool(ctx context.Context, pool repository.GitRepo) error { - repackArgs := []string{ - "-c", "pack.island=" + sourceRefNamespace + "/heads", - "-c", "pack.island=" + sourceRefNamespace + "/tags", - "-c", "pack.writeBitmapHashCache=true", - "repack", "-aidb", - } - repackCmd, err := git.Command(ctx, pool, repackArgs...) + repackArgs := []git.Option{ + git.ValueFlag{"-c", "pack.island=" + sourceRefNamespace + "/heads"}, + git.ValueFlag{"-c", "pack.island=" + sourceRefNamespace + "/tags"}, + git.ValueFlag{"-c", "pack.writeBitmapHashCache=true"}, + } + repackCmd, err := git.SafeCmd(ctx, pool, repackArgs, git.SubCmd{ + Name: "repack", + Flags: []git.Option{git.Flag{"-aidb"}}, + }) if err != nil { return err } |