# All files / src/utils git.ts

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

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

    1x

    14x
    14x
    14x

    1x
    14x
    14x

     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;
      }
    }