diff --git a/reckon-core/src/main/java/org/ajoberstar/reckon/core/GitInventorySupplier.java b/reckon-core/src/main/java/org/ajoberstar/reckon/core/GitInventorySupplier.java index 7956e355..10048f19 100644 --- a/reckon-core/src/main/java/org/ajoberstar/reckon/core/GitInventorySupplier.java +++ b/reckon-core/src/main/java/org/ajoberstar/reckon/core/GitInventorySupplier.java @@ -20,6 +20,7 @@ import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.ObjectReader; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; @@ -55,7 +56,7 @@ public GitInventorySupplier(Repository repo, Function> @Override public VcsInventory getInventory() { // share this walk throughout to benefit from its caching - try (RevWalk walk = new RevWalk(repo)) { + try (ObjectReader reader = repo.newObjectReader(); RevWalk walk = new RevWalk(reader)) { // saves on some performance as we don't really need the commit bodys walk.setRetainBody(false); @@ -94,7 +95,7 @@ public VcsInventory getInventory() { Set claimedVersions = taggedVersions.stream().map(TaggedVersion::getVersion).collect(Collectors.toSet()); return new VcsInventory( - headObjectId.getName(), + reader.abbreviate(headObjectId).name(), isClean(), currentVersion, baseVersion.getVersion(), diff --git a/reckon-core/src/test/groovy/org/ajoberstar/reckon/core/GitInventorySupplierTest.groovy b/reckon-core/src/test/groovy/org/ajoberstar/reckon/core/GitInventorySupplierTest.groovy index 6a6a26b0..af7de832 100644 --- a/reckon-core/src/test/groovy/org/ajoberstar/reckon/core/GitInventorySupplierTest.groovy +++ b/reckon-core/src/test/groovy/org/ajoberstar/reckon/core/GitInventorySupplierTest.groovy @@ -15,6 +15,11 @@ class GitInventorySupplierTest extends Specification { GitInventorySupplier supplier + def 'commit id is abbreviated, not full'() { + expect: + supplier.getInventory().commitId == Optional.of(grgit.head().abbreviatedId) + } + def 'if HEAD has no tagged versions, current version is empty'() { given: checkout('head-untagged')