Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
Diffstat (limited to 'dist')
-rw-r--r--dist/index.js20
1 files changed, 13 insertions, 7 deletions
diff --git a/dist/index.js b/dist/index.js
index 2ef372e..1919193 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -4799,9 +4799,11 @@ class GitCommandManager {
branchList(remote) {
return __awaiter(this, void 0, void 0, function* () {
const result = [];
- // Note, this implementation uses "rev-parse --symbolic" because the output from
+ // Note, this implementation uses "rev-parse --symbolic-full-name" because the output from
// "branch --list" is more difficult when in a detached HEAD state.
- const args = ['rev-parse', '--symbolic'];
+ // Note, this implementation uses "rev-parse --symbolic-full-name" because there is a bug
+ // in Git 2.18 that causes "rev-parse --symbolic" to output symbolic full names.
+ const args = ['rev-parse', '--symbolic-full-name'];
if (remote) {
args.push('--remotes=origin');
}
@@ -4812,6 +4814,12 @@ class GitCommandManager {
for (let branch of output.stdout.trim().split('\n')) {
branch = branch.trim();
if (branch) {
+ if (branch.startsWith('refs/heads/')) {
+ branch = branch.substr('refs/heads/'.length);
+ }
+ else if (branch.startsWith('refs/remotes/')) {
+ branch = branch.substr('refs/remotes/'.length);
+ }
result.push(branch);
}
}
@@ -4887,11 +4895,9 @@ class GitCommandManager {
}
isDetached() {
return __awaiter(this, void 0, void 0, function* () {
- // Note, this implementation uses "branch --show-current" because
- // "rev-parse --symbolic-full-name HEAD" can fail on a new repo
- // with nothing checked out.
- const output = yield this.execGit(['branch', '--show-current']);
- return output.stdout.trim() === '';
+ // Note, "branch --show-current" would be simpler but isn't available until Git 2.22
+ const output = yield this.execGit(['rev-parse', '--symbolic-full-name', '--verify', '--quiet', 'HEAD'], true);
+ return !output.stdout.trim().startsWith('refs/heads/');
});
}
lfsFetch(ref) {