All files / src/git clone.ts

25% Statements 1/4
100% Branches 0/0
0% Functions 0/1
25% Lines 1/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                      20x                          
/**
 * Git Clone Utility
 *
 * Clones a git repository to a local path.
 * Used when registering projects to create the base clone
 * from which worktrees are later created.
 */
 
import { simpleGit } from 'simple-git';
import { createModuleLogger } from '../logger/index.js';
 
const log = createModuleLogger('git');
 
/**
 * Clone a git repository to a destination path.
 *
 * @param url - Remote repository URL
 * @param destPath - Local filesystem path for the clone
 */
export async function cloneProject(url: string, destPath: string): Promise<void> {
  const git = simpleGit();
  log.info({ url, destPath }, 'cloning project');
  await git.clone(url, destPath);
}