Add git-sync CLI entrypoint · Entire

Add git-sync CLI entrypoint

7a8fae0→main·

Soph·3mo ago·1 file·+259 added/-0 removed

Sessions

2fdb51a2ea3cView transcript

[?
Can you take a look at the go code (wasm) in /Users/soph/Work/entire/devenv/entire-io-worktree1 based a bit on that I wonder if something like this can be build:Codex·GPT-5.4·1 step](/content/gh/entireio/git-sync/session/019d6d29-8cf7-7fe3-adc9-8c3e4d9d5603#timeline-2fdb51a2ea3c/index.html)

Changes

1

Go Code

package main

import (
    "context"
    "errors"
    "flag"
    "fmt"
    "os"
    "strings"

"github.com/go-git/go-git/v5/plumbing"
    "github.com/soph/git-sync/internal/syncer"
)

func main() {
    if err := run(context.Background(), os.Args[1:]); err != nil {
        fmt.Fprintf(os.Stderr, "error: %v\n", err)
        os.Exit(1)
    }
}

func run(ctx context.Context, args []string) error {
    if len(args) == 0 {
        return usageError("")
    }

switch args[0] {
    case "sync":
        return runSyncLike(ctx, "sync", args[1:], false)
    case "plan":
        return runSyncLike(ctx, "plan", args[1:], true)
    case "probe":
        return runProbe(ctx, args[1:])
    case "fetch":
        return runFetch(ctx, args[1:])
    case "help", "-h", "--help":
        return usageError("")
    default:
        return usageError(fmt.Sprintf("unknown command %q", args[0]))
    }
}

// ... Remaining code omitted for brevity