How to use the dugite.GitProcess.exec 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 electron / electron / script / release / prepare-release.js View on Github external
async function pushRelease (branch) {
  const pushDetails = await GitProcess.exec(['push', 'origin', `HEAD:${branch}`, '--follow-tags'], ELECTRON_DIR)
  if (pushDetails.exitCode === 0) {
    console.log(`${pass} Successfully pushed the release.  Wait for ` +
      `release builds to finish before running "npm run release".`)
  } else {
    console.log(`${fail} Error pushing the release: ${pushDetails.stderr}`)
    process.exit(1)
  }
}
github electron / electron / script / merge-release.js View on Github external
async function mergeReleaseIntoBranch (branchName) {
  console.log(`Merging release branch into ${branchName}.`)
  let mergeArgs = ['merge', 'release', '--squash']
  let mergeDetails = await GitProcess.exec(mergeArgs, gitDir)
  if (mergeDetails.exitCode === 0) {
    return true
  } else {
    const error = GitProcess.parseError(mergeDetails.stderr)
    if (error === GitError.MergeConflicts) {
      console.log(`${fail} Could not merge release branch into ${branchName} ` +
        `due to merge conflicts.`)
      return false
    } else {
      console.log(`${fail} Could not merge release branch into ${branchName} ` +
        `due to an error: ${mergeDetails.stderr}.`)
      process.exit(1)
    }
  }
}
github microsoft / vscode / extensions / git-extended / src / models / repository.ts View on Github external
async diff(filePath: string, compareWithCommit: string): Promise {
		try {
			let args = ['diff', filePath];
			if (compareWithCommit) {
				args = ['diff', compareWithCommit, '--', filePath];
			}

			const result = await GitProcess.exec(args, this.path);
			return result.stdout.trim();
		} catch (e) {
			return '';
		}
	}
github microsoft / vscode / extensions / git-extended / src / common / operation.ts View on Github external
export async function fetch(repository: Repository, remoteName: string, branch: string) {
	const result = await GitProcess.exec(
		[
			'fetch',
			remoteName,
			branch
		],
		repository.path
	);

	if (result.exitCode !== 0) {
		throw (result.stderr);
	}
}
github microsoft / vscode / extensions / git-extended / src / common / operation.ts View on Github external
export async function getBranch(repository: Repository, name: string): Promise {
	if (name === 'HEAD') {
		return getHEAD(repository);
	}

	const result = await GitProcess.exec(['rev-parse', name], repository.path);

	if (!result.stdout) {
		return Promise.reject(new Error('No such branch'));
	}

	const commit = result.stdout.trim();

	try {
		const res2 = await GitProcess.exec(['rev-parse', '--symbolic-full-name', name + '@{u}'], repository.path);
		const fullUpstream = res2.stdout.trim();
		const match = /^refs\/remotes\/([^/]+)\/(.+)$/.exec(fullUpstream);

		if (!match) {
			throw new Error(`Could not parse upstream branch: ${fullUpstream}`);
		}

		const upstream = { remote: match[1], name: match[2] };
		const res3 = await GitProcess.exec(['rev-list', '--left-right', name + '...' + fullUpstream], repository.path);

		let ahead = 0, behind = 0;
		let i = 0;

		while (i < res3.stdout.length) {
			switch (res3.stdout.charAt(i)) {
				case '<': ahead++; break;
github microsoft / vscode / extensions / git-extended / src / models / repository.ts View on Github external
async diffHashed(hash0: string, hash1: string) {
		try {
			const args = ['diff', hash0, hash1];
			const result = await GitProcess.exec(args, this.path);
			return result.stdout.trim();
		} catch (e) {
			return '';
		}
	}
github microsoft / vscode / extensions / git-extended / src / models / repository.ts View on Github external
async getBranch(name: string): Promise {
		if (name === 'HEAD') {
			return this.getHEAD();
		}

		const result = await GitProcess.exec(['rev-parse', name], this.path);

		if (result.exitCode !== 0 || !result.stdout) {
			return null;
		}

		const commit = result.stdout.trim();

		try {
			const res2 = await GitProcess.exec(['rev-parse', '--symbolic-full-name', name + '@{u}'], this.path);
			const fullUpstream = res2.stdout.trim();
			const match = /^refs\/remotes\/([^/]+)\/(.+)$/.exec(fullUpstream);

			if (!match) {
				throw new Error(`Could not parse upstream branch: ${fullUpstream}`);
			}

			const upstream = { remote: match[1], name: match[2] };
			const res3 = await GitProcess.exec(['rev-list', '--left-right', name + '...' + fullUpstream], this.path);

			let ahead = 0, behind = 0;
			let i = 0;

			while (i < res3.stdout.length) {
				switch (res3.stdout.charAt(i)) {
					case '<': ahead++; break;
github electron / electron / script / release / notes / notes.js View on Github external
const runGit = async (dir, args) => {
  const response = await GitProcess.exec(args, dir)
  if (response.exitCode !== 0) {
    throw new Error(response.stderr.trim())
  }
  return response.stdout.trim()
}
github dfrankland / hyper-sync-settings / src / lib / getCommands / restore.ts View on Github external
export default async ({ repoPromise }: GitConfig): Promise => {
  await repoPromise;
  await GitProcess.exec(['fetch'], DIR_REPO());
  await GitProcess.exec(['merge', 'origin/master', 'master'], DIR_REPO());
  await ensureFile(FILE_RESTORE());
  await copyFile(FILE_BACKUP(), FILE_RESTORE());
};