HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/node_modules/git-parse/dist/checkout_commit.js.flow
import promisify from 'util.promisify';
import childProcess from 'child_process';
import {validatePath, resolveHome} from './util';

const exec = promisify(childProcess.exec);

/**
 * Checks out a commit given its repo and hash.
 *
 * Returns void. Throws error on failure.
 */
const checkoutCommit = async (pathToRepo, hash, options = {force: false}) => {
  const resolvedPath = resolveHome(pathToRepo);

  try {
    validatePath(resolvedPath);
  } catch (e) {
    return Promise.reject(e);
  }

  return exec(`git checkout ${hash} ${options.force ? '--force' : ''}`, {
    cwd: resolvedPath
  });
};

export default checkoutCommit;