orca/src/shared/git-upstream-status.ts

21 lines
594 B
TypeScript

import type { GitUpstreamStatus } from './git-status-types'
export function upstreamOnlyCommitsArePatchEquivalent(cherryMarkOutput: string): boolean {
const lines = cherryMarkOutput
.split(/\r?\n/)
.map((line) => line.trim())
.filter(Boolean)
return lines.length > 0 && lines.every((line) => line.startsWith('='))
}
export function shouldForcePushWithLeaseForUpstream(
status: GitUpstreamStatus | undefined
): boolean {
return (
status?.hasUpstream === true &&
status.ahead > 0 &&
status.behind > 0 &&
status.behindCommitsArePatchEquivalent === true
)
}