All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.twisterrob.gradle.vcs.git.JGit.kt Maven / Gradle / Ivy

package net.twisterrob.gradle.vcs.git

import org.eclipse.jgit.api.Git
import org.eclipse.jgit.lib.AbbreviatedObjectId
import org.eclipse.jgit.lib.AnyObjectId
import org.eclipse.jgit.lib.ObjectId
import org.eclipse.jgit.revwalk.RevWalk
import java.io.File

internal inline fun  inRepo(dir: File, block: Git.() -> T): T {
	val repo = Git.open(dir)
	return repo.use(block)
}

internal val Git.head: ObjectId
	get() = this.repository.resolve("HEAD")

internal inline fun  Git.walk(block: RevWalk.() -> T): T {
	val walk = RevWalk(this.repository)
	return walk.use(block)
}

internal fun Git.abbreviate(objectId: AnyObjectId): AbbreviatedObjectId =
	this.repository.newObjectReader().use { reader ->
		reader.abbreviate(objectId)
	}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy