MCPcopy Create free account
hub / github.com/ReviewStage/stage-cli / detectBaseRef

Function detectBaseRef

packages/cli/src/git.ts:102–126  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

100}
101
102export function detectBaseRef(): string {
103 const candidates: string[][] = [
104 ["rev-parse", "--abbrev-ref", "origin/HEAD"],
105 ["rev-parse", "--verify", "main"],
106 ["rev-parse", "--verify", "master"],
107 ["rev-parse", "--verify", "origin/main"],
108 ["rev-parse", "--verify", "origin/master"],
109 ];
110
111 for (const args of candidates) {
112 try {
113 const out = execFileSync("git", args, {
114 encoding: "utf8",
115 stdio: ["ignore", "pipe", "ignore"],
116 }).trim();
117 if (out) return out;
118 } catch {
119 // try next candidate
120 }
121 }
122
123 throw new Error(
124 "No default branch detected. Tried origin/HEAD, main, master, origin/main, and origin/master.",
125 );
126}
127
128export function resolveMergeBase(base: string): string {
129 return execFileSync("git", ["merge-base", base, "HEAD"], {

Callers 1

resolveScopeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected