Merge pull request #1540 from hedgedoc/fix/get_git_commit

This commit is contained in:
David Mehren 2021-08-14 21:47:18 +02:00 committed by GitHub
commit de64142511
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 9 deletions

View file

@ -25,16 +25,29 @@ exports.toIntegerConfig = function toIntegerConfig (configValue) {
}
exports.getGitCommit = function getGitCommit (repodir) {
try {
// prefer using git to get the current ref, as poking in .git is very fragile
return require('child_process').execSync('git rev-parse HEAD')
} catch (e) {
// there was an error running git, try to parse refs ourselves
if (!fs.existsSync(repodir + '/.git/HEAD')) {
// there is no HEAD information
return undefined
}
let reference = fs.readFileSync(repodir + '/.git/HEAD', 'utf8')
if (reference.startsWith('ref: ')) {
// HEAD references another ref, try to get the commit SHA from .git/ref/heads
reference = reference.substr(5).replace('\n', '')
reference = fs.readFileSync(path.resolve(repodir + '/.git', reference), 'utf8')
const refPath = path.resolve(repodir + '/.git', reference)
if (!fs.existsSync(refPath)) {
// ref does not exist in .git/ref/heads
return undefined
}
reference = fs.readFileSync(refPath, 'utf8')
}
reference = reference.replace('\n', '')
return reference
}
}
exports.getGitHubURL = function getGitHubURL (repo, reference) {

View file

@ -6,6 +6,8 @@
If you want to continue using Google Analytics or Disqus, you can re-enable them in the config.
See [the docs](https://docs.hedgedoc.org/configuration/#web-security-aspects) for details.
### Bugfixes
- Fix crash when trying to read the current Git commit on startup
## <i class="fa fa-tag"></i> 1.8.2 <i class="fa fa-calendar-o"></i> 2021-05-11