UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

28 lines (27 loc) 935 B
import { RepomixError } from '../../shared/errorHandle.js'; import { logger } from '../../shared/logger.js'; import { execLsRemote, validateGitUrl } from './gitCommand.js'; export const getRemoteRefs = async (url, deps = { execLsRemote, }) => { validateGitUrl(url); try { const stdout = await deps.execLsRemote(url); const refs = stdout .split('\n') .filter(Boolean) .map((line) => { const parts = line.split('\t'); if (parts.length < 2) return ''; return parts[1].replace(/^refs\/(heads|tags)\//, ''); }) .filter(Boolean); logger.trace(`Found ${refs.length} refs in repository: ${url}`); return refs; } catch (error) { logger.trace('Failed to get remote refs:', error.message); throw new RepomixError(`Failed to get remote refs: ${error.message}`); } };