fix(autoversion): filter tags in other branches
This commit is contained in:
parent
04f130951e
commit
4b7a5ac5e9
@ -37,6 +37,7 @@ fun Git.log(since: AnyObjectId? = null, until: AnyObjectId? = null): List<Commit
|
|||||||
|
|
||||||
fun Git.getTags(): List<Tag> = repository.refDatabase.getRefsByPrefix(Constants.R_TAGS)
|
fun Git.getTags(): List<Tag> = repository.refDatabase.getRefsByPrefix(Constants.R_TAGS)
|
||||||
.map { it.resolveTag(repository) }
|
.map { it.resolveTag(repository) }
|
||||||
|
.filter { it.checkInTree(repository) }
|
||||||
.sortedByDescending { it.dateTime }
|
.sortedByDescending { it.dateTime }
|
||||||
|
|
||||||
fun Ref.resolveTag(repo: Repository): Tag = RevWalk(repo).use { walk ->
|
fun Ref.resolveTag(repo: Repository): Tag = RevWalk(repo).use { walk ->
|
||||||
@ -55,6 +56,10 @@ fun Ref.resolveTag(repo: Repository): Tag = RevWalk(repo).use { walk ->
|
|||||||
return rev.resolve((target as RevCommit).resolve(repo))
|
return rev.resolve((target as RevCommit).resolve(repo))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Tag.checkInTree(repo: Repository): Boolean = RevWalk(repo).use { walk ->
|
||||||
|
walk.isMergedInto(walk.parseCommit(commit.id), walk.parseCommit(repo.resolve("HEAD")))
|
||||||
|
}
|
||||||
|
|
||||||
fun RevTag.resolve(commit: Commit): Tag {
|
fun RevTag.resolve(commit: Commit): Tag {
|
||||||
val ident = taggerIdent
|
val ident = taggerIdent
|
||||||
return Tag(
|
return Tag(
|
||||||
|
Loading…
Reference in New Issue
Block a user