diff options
author | Christoph (Sheogorath) Kern | 2018-11-11 19:00:03 +0100 |
---|---|---|
committer | GitHub | 2018-11-11 19:00:03 +0100 |
commit | ca9c4b3135e071bb599aad734930c5d1d339dc27 (patch) | |
tree | c7b2731235be1c08e3fc94cc85fd8ed21fac48e8 /lib/config/utils.js | |
parent | 4e5e7df4f8ed5b4317ab9205ceb8c2b3231517ad (diff) | |
parent | bcc914a7735290b86e0df428aed75dabdf9f1eca (diff) |
Merge pull request #991 from SISheogorath/feature/fullversion
Add full version string (and no AGPL violation detection)
Diffstat (limited to '')
-rw-r--r-- | lib/config/utils.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/config/utils.js b/lib/config/utils.js index b2406cf1..dcc83638 100644 --- a/lib/config/utils.js +++ b/lib/config/utils.js @@ -1,5 +1,8 @@ 'use strict' +const fs = require('fs') +const path = require('path') + exports.toBooleanConfig = function toBooleanConfig (configValue) { if (configValue && typeof configValue === 'string') { return (configValue === 'true') @@ -20,3 +23,33 @@ exports.toIntegerConfig = function toIntegerConfig (configValue) { } return configValue } + +exports.getGitCommit = function getGitCommit (repodir) { + if (!fs.existsSync(repodir + '/.git/HEAD')) { + return undefined + } + let reference = fs.readFileSync(repodir + '/.git/HEAD', 'utf8') + if (reference.startsWith('ref: ')) { + reference = reference.substr(5).replace('\n', '') + reference = fs.readFileSync(path.resolve(repodir + '/.git', reference), 'utf8') + } + reference = reference.substr(5).replace('\n', '') + return reference +} + +exports.getGitHubURL = function getGitHubURL (repo, reference) { + // if it's not a github reference, we handle handle that anyway + if (!repo.startsWith('https://github.com') && !repo.startsWith('git@github.com')) { + return repo + } + if (repo.startsWith('git@github.com') || repo.startsWith('ssh://git@github.com')) { + repo = repo.replace(/^(ssh:\/\/)?git@github.com:/, 'https://github.com/') + } + + if (repo.endsWith('.git')) { + repo = repo.replace(/\.git$/, '/') + } else if (!repo.endsWith('/')) { + repo = repo + '/' + } + return repo + 'tree/' + reference +} |