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
- cmd/git-sync
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