MCPcopy
hub / github.com/nikivdev/go / runGitMirror

Function runGitMirror

cli/flow/main.go:4003–4032  ·  view source on GitHub ↗
(ctx *snap.Context)

Source from the content-addressed store, hash-verified

4001}
4002
4003func 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
4034func printGitMirrorUsage(out io.Writer) {
4035 fmt.Fprintf(out, "Usage: %s gitMirror setup --remote <name> --url <git-url>\n", commandName)

Callers 1

mainFunction · 0.85

Calls 7

ensureGitRepositoryFunction · 0.85
printGitMirrorUsageFunction · 0.85
parseGitMirrorOptionsFunction · 0.85
runGitMirrorSetupFunction · 0.85
runGitMirrorPushFunction · 0.85
runGitMirrorPullFunction · 0.85
runGitMirrorTakeFunction · 0.85

Tested by

no test coverage detected