【问题标题】:How do I get a Git change set ID from the Maven SCM abstraction如何从 Maven SCM 抽象中获取 Git 更改集 ID
【发布时间】:2011-06-11 20:26:20
【问题描述】:

我有一个 Maven Mojo 插件,它询问 SCM 以生成报告。它很好地收集评论、作者和日期条目。我现在需要实际的提交 ID。所以,给定以下日志语句...

commit 0559a4f75eaabb978cd880ae921ea7737b974580
Author: John Smith <jsmith@example.com>
Date:   Tue Jan 18 13:08:57 2011 -0500

    Fixed port numbers for JMX

我要提取0559a4f75eaabb978cd880ae921ea7737b974580

似乎没有明显的方法可以做到这一点。任何帮助,将不胜感激。这是我首先获得 ChangeSet 的方式。

SimpleDateFormat localFormat = new SimpleDateFormat(userDateFormat);
ScmRepository repository = getScmRepository();
ScmProvider provider = getScmManager().getProviderByRepository(repository);
ChangeLogScmResult result = provider.changeLog(repository, getFileSet(), this.parseDate(localFormat, this.startDate), this.parseDate(localFormat, this.endDate), 0, (ScmBranch) getScmVersion(scmVersionType, scmVersion), dateFormat);
checkResult(result);
ChangeLogSet changeLogSet = result.getChangeLog();
ChangeSet[] changeSets = (ChangeSet[]) changeLogSet.getChangeSets().toArray(new ChangeSet[changeLogSet.getChangeSets().size()]);
GitChangeSet changeSet = (GitChangeSet)changeSets[0];
String gitID = ???????????????????????????????

这里是 GitChangeSet http://maven.apache.org/scm/apidocs/org/apache/maven/scm/provider/git/GitChangeSet.html 的 API 文档,您可以从中获得我正在做的大部分其他工作。

【问题讨论】:

    标签: git maven maven-plugin mojo maven-scm


    【解决方案1】:

    旧版本的 maven-scm 提供程序没有此功能。升级到较新的版本,ChangeSet 上的“getRevision()”方法应该会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多