cmd/sketch: add -upstream flag for git branch management
To be used in future work.
Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s40fdfb9a579bf6f2k
diff --git a/dockerimg/dockerimg.go b/dockerimg/dockerimg.go
index da3ccbb..42d9e14 100644
--- a/dockerimg/dockerimg.go
+++ b/dockerimg/dockerimg.go
@@ -110,6 +110,9 @@
GitRemoteUrl string
+ // Upstream branch for git work
+ Upstream string
+
// Commit hash to checkout from GetRemoteUrl
Commit string
@@ -201,6 +204,13 @@
} else {
commit = strings.TrimSpace(string(out))
}
+
+ var upstream string
+ if out, err := combinedOutput(ctx, "git", "branch", "--show-current"); err != nil {
+ slog.DebugContext(ctx, "git branch --show-current failed (continuing)", "error", err)
+ } else {
+ upstream = strings.TrimSpace(string(out))
+ }
if out, err := combinedOutput(ctx, "git", "config", "http.receivepack", "true"); err != nil {
return fmt.Errorf("git config http.receivepack true: %s: %w", out, err)
}
@@ -212,6 +222,7 @@
config.OutsideHTTP = fmt.Sprintf("http://sketch:%s@host.docker.internal:%s", gitSrv.pass, gitSrv.gitPort)
config.GitRemoteUrl = fmt.Sprintf("http://sketch:%s@host.docker.internal:%s/.git", gitSrv.pass, gitSrv.gitPort)
+ config.Upstream = upstream
config.Commit = commit
// Create the sketch container
@@ -555,6 +566,7 @@
panic("Commit should have been set when GitRemoteUrl was set")
}
cmdArgs = append(cmdArgs, "-commit="+config.Commit)
+ cmdArgs = append(cmdArgs, "-upstream="+config.Upstream)
}
if config.OutsideHTTP != "" {
cmdArgs = append(cmdArgs, "-outside-http="+config.OutsideHTTP)