Files
gruvbox/node_modules/validate-commit-msg/lib/getGitFolder.js

30 lines
688 B
JavaScript

'use strict';
var fs = require('fs');
var path = require('path');
var findParentDir = require('find-parent-dir');
module.exports = function getGitFolder() {
var dir = findParentDir.sync(process.cwd(), '.git');
if (!dir) throw new Error('Cannot find .git folder');
var gitDir = path.join(dir, '.git');
var stats = fs.lstatSync(gitDir);
if (!stats.isDirectory()) {
// Expect following format
// git: pathToGit
var pathToGit = fs
.readFileSync(gitDir, 'utf-8')
.split(':')[1]
.trim();
gitDir = path.join(dir, pathToGit);
if (!fs.existsSync(gitDir)) {
throw new Error('Cannot find file ' + pathToGit);
}
}
return gitDir;
};