Get git commit hash even if the repo only points to a bare repo.

* Used by https://github.com/debops/ansible-etherpad
This commit is contained in:
Robin Schneider 2015-10-07 15:43:29 +02:00
parent 83597562c1
commit 29441a8ae1
No known key found for this signature in database
GPG Key ID: 489A4D5EC353C98A
1 changed files with 8 additions and 2 deletions

View File

@ -218,8 +218,14 @@ exports.getGitCommit = function() {
try
{
var rootPath = path.resolve(npm.dir, '..');
var ref = fs.readFileSync(rootPath + "/.git/HEAD", "utf-8");
var refPath = rootPath + "/.git/" + ref.substring(5, ref.indexOf("\n"));
if (fs.lstatSync(rootPath + '/.git').isFile()) {
rootPath = fs.readFileSync(rootPath + '/.git', "utf8");
rootPath = rootPath.split(' ').pop().trim();
} else {
rootPath += '/.git';
}
var ref = fs.readFileSync(rootPath + "/HEAD", "utf-8");
var refPath = rootPath + "/" + ref.substring(5, ref.indexOf("\n"));
version = fs.readFileSync(refPath, "utf-8");
version = version.substring(0, 7);
}