How to use the dugite.GitError.BadRevision function in dugite

To help you get started, we’ve selected a few dugite examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github desktop / desktop / app / src / lib / git / rev-list.ts View on Github external
export async function getAheadBehind(
  repository: Repository,
  range: string
): Promise {
  // `--left-right` annotates the list of commits in the range with which side
  // they're coming from. When used with `--count`, it tells us how many
  // commits we have from the two different sides of the range.
  const args = ['rev-list', '--left-right', '--count', range, '--']
  const result = await git(args, repository.path, 'getAheadBehind', {
    expectedErrors: new Set([GitError.BadRevision]),
  })

  // This means one of the refs (most likely the upstream branch) no longer
  // exists. In that case we can't be ahead/behind at all.
  if (result.gitError === GitError.BadRevision) {
    return null
  }

  const stdout = result.stdout
  const pieces = stdout.split('\t')
  if (pieces.length !== 2) {
    return null
  }

  const ahead = parseInt(pieces[0], 10)
  if (isNaN(ahead)) {
github desktop / desktop / app / src / lib / git / rev-list.ts View on Github external
export async function getAheadBehind(
  repository: Repository,
  range: string
): Promise {
  // `--left-right` annotates the list of commits in the range with which side
  // they're coming from. When used with `--count`, it tells us how many
  // commits we have from the two different sides of the range.
  const args = ['rev-list', '--left-right', '--count', range, '--']
  const result = await git(args, repository.path, 'getAheadBehind', {
    expectedErrors: new Set([GitError.BadRevision]),
  })

  // This means one of the refs (most likely the upstream branch) no longer
  // exists. In that case we can't be ahead/behind at all.
  if (result.gitError === GitError.BadRevision) {
    return null
  }

  const stdout = result.stdout
  const pieces = stdout.split('\t')
  if (pieces.length !== 2) {
    return null
  }

  const ahead = parseInt(pieces[0], 10)
  if (isNaN(ahead)) {
    return null
  }

  const behind = parseInt(pieces[1], 10)
  if (isNaN(behind)) {
github desktop / desktop / app / src / lib / git / core.ts View on Github external
return 'A submodule points to a location which does not exist.'
    case DugiteError.InvalidSubmoduleSHA:
      return 'A submodule points to a commit which does not exist.'
    case DugiteError.LocalPermissionDenied:
      return 'Permission denied.'
    case DugiteError.InvalidMerge:
      return 'This is not something we can merge.'
    case DugiteError.InvalidRebase:
      return 'This is not something we can rebase.'
    case DugiteError.NonFastForwardMergeIntoEmptyHead:
      return 'The merge you attempted is not a fast-forward, so it cannot be performed on an empty branch.'
    case DugiteError.PatchDoesNotApply:
      return 'The requested changes conflict with one or more files in the repository.'
    case DugiteError.BranchAlreadyExists:
      return 'A branch with that name already exists.'
    case DugiteError.BadRevision:
      return 'Bad revision.'
    case DugiteError.NotAGitRepository:
      return 'This is not a git repository.'
    case DugiteError.ProtectedBranchForcePush:
      return 'This branch is protected from force-push operations.'
    case DugiteError.ProtectedBranchRequiresReview:
      return 'This branch is protected and any changes requires an approved review. Open a pull request with changes targeting this branch instead.'
    case DugiteError.PushWithFileSizeExceedingLimit:
      return "The push operation includes a file which exceeds GitHub's file size restriction of 100MB. Please remove the file from history and try again."
    case DugiteError.HexBranchNameRejected:
      return 'The branch name cannot be a 40-character string of hexadecimal characters, as this is the format that Git uses for representing objects.'
    case DugiteError.ForcePushRejected:
      return 'The force push has been rejected for the current branch.'
    case DugiteError.InvalidRefLength:
      return 'A ref cannot be longer than 255 characters.'
    case DugiteError.CannotMergeUnrelatedHistories: