| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env bun
- /**
- * List available upstream versions
- *
- * Usage:
- * bun run script/upstream/list-versions.ts
- */
- import { getAvailableUpstreamVersions, getCurrentKiloVersion } from "./utils/version"
- import { fetchUpstream, hasUpstreamRemote } from "./utils/git"
- import { header, info, success, warn, error } from "./utils/logger"
- async function main() {
- header("Available Upstream Versions")
- // Check upstream remote
- if (!(await hasUpstreamRemote())) {
- error("No 'upstream' remote found. Please add it:")
- info(" git remote add upstream [email protected]:anomalyco/opencode.git")
- process.exit(1)
- }
- info("Fetching upstream tags...")
- await fetchUpstream()
- const versions = await getAvailableUpstreamVersions()
- const kiloVersion = await getCurrentKiloVersion()
- console.log()
- success(`Current Kilo version: ${kiloVersion}`)
- console.log()
- info("Available upstream versions (newest first):")
- console.log()
- const limit = process.argv.includes("--all") ? versions.length : 20
- for (let i = 0; i < Math.min(limit, versions.length); i++) {
- const v = versions[i]
- if (!v) continue
- const marker = i === 0 ? " (latest)" : ""
- console.log(` ${v.tag.padEnd(12)} ${v.commit.slice(0, 8)}${marker}`)
- }
- if (versions.length > limit) {
- console.log()
- info(`Showing ${limit} of ${versions.length} versions. Use --all to see all.`)
- }
- console.log()
- info("To merge a specific version:")
- info(" bun run script/upstream/merge.ts --version v1.1.49")
- console.log()
- info("To merge the latest version:")
- info(" bun run script/upstream/merge.ts")
- }
- main().catch((err) => {
- error(`Error: ${err}`)
- process.exit(1)
- })
|