(ctx *snap.Context)
| 4001 | } |
| 4002 | |
| 4003 | func runGitMirror(ctx *snap.Context) error { |
| 4004 | if err := ensureGitRepository(); err != nil { |
| 4005 | return err |
| 4006 | } |
| 4007 | if ctx.NArgs() < 1 { |
| 4008 | printGitMirrorUsage(ctx.Stderr()) |
| 4009 | return fmt.Errorf("missing action") |
| 4010 | } |
| 4011 | |
| 4012 | action := strings.ToLower(strings.TrimSpace(ctx.Arg(0))) |
| 4013 | opts, err := parseGitMirrorOptions(ctx, 1) |
| 4014 | if err != nil { |
| 4015 | printGitMirrorUsage(ctx.Stderr()) |
| 4016 | return err |
| 4017 | } |
| 4018 | |
| 4019 | switch action { |
| 4020 | case "setup": |
| 4021 | return runGitMirrorSetup(ctx, opts) |
| 4022 | case "push": |
| 4023 | return runGitMirrorPush(ctx, opts) |
| 4024 | case "pull": |
| 4025 | return runGitMirrorPull(ctx, opts) |
| 4026 | case "take": |
| 4027 | return runGitMirrorTake(ctx, opts) |
| 4028 | default: |
| 4029 | printGitMirrorUsage(ctx.Stderr()) |
| 4030 | return fmt.Errorf("unknown gitMirror action %q", action) |
| 4031 | } |
| 4032 | } |
| 4033 | |
| 4034 | func printGitMirrorUsage(out io.Writer) { |
| 4035 | fmt.Fprintf(out, "Usage: %s gitMirror setup --remote <name> --url <git-url>\n", commandName) |
no test coverage detected