GlobalBuildInfo support packed-refs with work-tree (#50791)

The packed-refs support was using the original .git path, changed to use
the real .git directory after reference from worktree has been followed.

Relates #47464
This commit is contained in:
Henning Andersen 2020-01-10 13:54:32 +01:00 committed by Henning Andersen
parent 422422a2bc
commit 48e5eece1e

View File

@ -268,10 +268,10 @@ public class GlobalBuildInfoPlugin implements Plugin<Project> {
Path refFile = gitDir.resolve(refName);
if (Files.exists(refFile)) {
revision = readFirstLine(refFile);
} else if (Files.exists(dotGit.resolve("packed-refs"))) {
} else if (Files.exists(gitDir.resolve("packed-refs"))) {
// Check packed references for commit ID
Pattern p = Pattern.compile("^([a-f0-9]{40}) " + refName + "$");
try (Stream<String> lines = Files.lines(dotGit.resolve("packed-refs"))) {
try (Stream<String> lines = Files.lines(gitDir.resolve("packed-refs"))) {
revision = lines.map(p::matcher)
.filter(Matcher::matches)
.map(m -> m.group(1))