Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Maven SCM抽象中获取Git变更集ID_Git_Maven_Maven Plugin_Mojo_Maven Scm - Fatal编程技术网

如何从Maven SCM抽象中获取Git变更集ID

如何从Maven SCM抽象中获取Git变更集ID,git,maven,maven-plugin,mojo,maven-scm,Git,Maven,Maven Plugin,Mojo,Maven Scm,我有一个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 以下是GitChangeSet的

我有一个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

以下是GitChangeSet的API文档,您可以从中获得我正在做的大部分其他工作。

maven scm providers的旧版本没有此功能。升级到较新的版本,变更集上的getRevision方法应该可以很好地帮助您

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 = ???????????????????????????????