我有一个用Groovy制作的自定义预接收挂钩GitBlit。我想在当前存储库中读取一个版本化文件,并以字符串形式提取其内容。
我已经看到了REPLICATION
和{repository}
vars来获取存储库的绝对路径,但没有找到。
您是否知道任何参数或工具函数来获取此文件的路径(或内容)? 感谢
答案 0 :(得分:0)
我找到了咨询此page的解决方案。 com.gitblit.utils.JGitUtils
和com.gitblit.GitBlit
中有工具函数允许将文件内容作为字符串。
文档可用here
import com.gitblit.GitBlit
import com.gitblit.Keys
import com.gitblit.models.RepositoryModel
import com.gitblit.models.UserModel
import com.gitblit.utils.JGitUtils
import org.eclipse.jgit.lib.Repository
import org.eclipse.jgit.revwalk.RevCommit
import org.eclipse.jgit.transport.ReceiveCommand
import org.eclipse.jgit.transport.ReceiveCommand.Result
import org.slf4j.Logger
// Get repository
def repo = gitblit.getRepository(repository.name)
//logger.info(repo.dump()) // See a dump of the var in the logs
// Get string file content
def str = JGitUtils.getStringContent(repo, null, "myFile.txt", null)
注意:
repository
var由GitBlit自然注入 执行groovy钩子脚本。