这个问题与这个问题相反:JGit如何从RevCommit中获取SHA1?。
如果我以字符串形式获得特定提交的SHA1 ID,如何在JGit中获取ObjectId
或关联的RevCommit
?
下面是一个可能的答案,它将遍历所有 RevCommit
:
RevCommit findCommit(String SHAId)
{
Iterable<RevCommit> commits = git_.log().call();
for (RevCommit commit: commits)
{
if (commit.getName().equals(SHAId))
return commit;
}
return null;
}
还有比上面这个实现更好的吗?
请注意,RevWalk
现在是自动关闭的,因此您还可以使用 try-with-resources 语句:
try (RevWalk revWalk = new RevWalk(repository)) {
RevCommit commit = revWalk.parseCommit(commitId);
}
首先将字符串转换成< code>ObjectId然后让< code>RevWalk查找它可能更容易。
ObjectId commitId = ObjectId.fromString("ab434...");
try (RevWalk revWalk = new RevWalk(repository)) {
RevCommit commit = revWalk.parseCommit(commitId);
}
问题内容: 这个问题与这个问题相反:JGit如何从RevCommit获得SHA1?。 如果给我特定提交的SHA1 ID作为字符串,如何在JGit中获取ObjectId或关联RevCommit? 这是一个可能的答案,它遍历所有RevCommits: 有什么比上面的实现更好的了吗? 问题答案: 首先将字符串转换为an ObjectId,然后再RevWalk查找它可能会更容易。
这似乎是一个愚蠢的问题,但我在任何地方都找不到关于它的文档。 如何获取RevCommit对象的SHA1?
本文向大家介绍VBA 使用Mid或Mid $从字符串中获取特定字符,包括了VBA 使用Mid或Mid $从字符串中获取特定字符的使用技巧和注意事项,需要的朋友参考一下 示例
我有两根绳子 在两种情况下,我应该删除
我正在做一个项目,在那里用户可以写其他用户的邮件。邮件类当前如下所示: 现在,问题是,我需要将所有邮件保存到. yml用户数据文件中。对我来说,最简单的方法是首先将每封邮件转换为字符串,然后将所有邮件保存到
问题内容: 我有字符串: 如何找到这些字符串中的数字? 也许与功能: 例如: 最好的方法可能是正则表达式,但是如何在示例中使用它呢?也许没有正则表达式? 问题答案: 您可以为此使用正则表达式。该 转义序列将匹配的主题字符串中的所有数字。 例如: