Replace the always-on syncDefaultBranch with opt-in resolveBaseBranch: - Add auto_fetch config (default: false) — only fetch when enabled - Add base_branch config (project and global) — fallback to current branch - Fetch-only mode: git fetch origin without modifying local branches - Use fetched commit hash (origin/<base_branch>) to reset clone to latest - No more git merge --ff-only or git fetch origin main:main Config example: # ~/.takt/config.yaml or .takt/config.yaml auto_fetch: true base_branch: develop Addresses review feedback: opt-in behavior, no local branch changes, configurable base branch with current-branch fallback.
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
/**
|
|
* Task execution module
|
|
*/
|
|
|
|
// Types
|
|
export type {
|
|
TaskInfo,
|
|
TaskResult,
|
|
WorktreeOptions,
|
|
WorktreeResult,
|
|
BranchInfo,
|
|
BranchListItem,
|
|
SummarizeOptions,
|
|
TaskListItem,
|
|
} from './types.js';
|
|
|
|
// Classes
|
|
export { CloneManager } from './clone.js';
|
|
export { AutoCommitter } from './autoCommit.js';
|
|
export { TaskSummarizer } from './summarize.js';
|
|
export { BranchManager } from './branchList.js';
|
|
|
|
export { TaskRunner } from './runner.js';
|
|
|
|
export { showTaskList } from './display.js';
|
|
|
|
export {
|
|
TaskFileSchema,
|
|
type TaskFileData,
|
|
TaskExecutionConfigSchema,
|
|
TaskStatusSchema,
|
|
type TaskStatus,
|
|
TaskFailureSchema,
|
|
type TaskFailure,
|
|
TaskRecordSchema,
|
|
type TaskRecord,
|
|
TasksFileSchema,
|
|
type TasksFileData,
|
|
} from './schema.js';
|
|
export {
|
|
createSharedClone,
|
|
removeClone,
|
|
createTempCloneForBranch,
|
|
saveCloneMeta,
|
|
removeCloneMeta,
|
|
cleanupOrphanedClone,
|
|
resolveBaseBranch,
|
|
} from './clone.js';
|
|
export {
|
|
detectDefaultBranch,
|
|
listTaktBranches,
|
|
parseTaktBranches,
|
|
getFilesChanged,
|
|
extractTaskSlug,
|
|
getOriginalInstruction,
|
|
buildListItems,
|
|
} from './branchList.js';
|
|
export { stageAndCommit, getCurrentBranch } from './git.js';
|
|
export { autoCommitAndPush, type AutoCommitResult } from './autoCommit.js';
|
|
export { summarizeTaskName } from './summarize.js';
|
|
export { TaskWatcher, type TaskWatcherOptions } from './watcher.js';
|
|
export { isStaleRunningTask } from './process.js';
|