All files / src/utils git.ts

0% Statements 0/7
100% Branches 0/0
0% Functions 0/2
0% Lines 0/7

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 26 27 28 29 30 31 32                                                               
import { SimpleGit } from 'simple-git';
 
/**
 * Contains methods using simple-git to perform commands relating to git.
 */
 
/**
 * Returns the contents of a remote file, undefined if an error was encountered.
 * See: https://git-scm.com/docs/git-cat-file for accepted values for each input.
 */
export async function getRemoteBranchFile(
  simpleGit: SimpleGit, type: string, remote: string, branch: string, fileName: string,
) {
  try {
    const catFileTarget = `${remote}/${branch}:${fileName}`;
    return await simpleGit.catFile([type, catFileTarget]);
  } catch (e) {
    return undefined;
  }
}
 
/**
 * Returns the contents of a remote url (https or ssh), undefined if an error was encountered.
 */
export async function getRemoteUrl(simpleGit: SimpleGit, remote: string) {
  try {
    return await simpleGit.remote(['get-url', remote]);
  } catch (e) {
    return undefined;
  }
}