Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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
Java 使用jgit对提交进行拓扑排序_Java_Git_Jgit - Fatal编程技术网

Java 使用jgit对提交进行拓扑排序

Java 使用jgit对提交进行拓扑排序,java,git,jgit,Java,Git,Jgit,我遇到了一个问题,提交被无序显示。原因并不重要,我只需要检索提交并在变更日志中正确显示它们。 我已经做了一些研究,我能找到的最佳解决方案是使用jGits RevSort.TOPO使用jGit对RevWalk进行拓扑排序。 这是我到目前为止所做的,但它不起作用,提交将像以前一样未排序地返回。其他排序方法工作正常,例如RevSort.REVERSE,但TOPO没有任何效果 RevWalk walk = new RevWalk(repo); ObjectId head = repo.r

我遇到了一个问题,提交被无序显示。原因并不重要,我只需要检索提交并在变更日志中正确显示它们。 我已经做了一些研究,我能找到的最佳解决方案是使用jGits RevSort.TOPO使用jGit对RevWalk进行拓扑排序。
这是我到目前为止所做的,但它不起作用,提交将像以前一样未排序地返回。其他排序方法工作正常,例如RevSort.REVERSE,但TOPO没有任何效果

    RevWalk walk = new RevWalk(repo);
    ObjectId head = repo.resolve("HEAD");
    RevCommit recentCommit = walk.parseCommit(head);
    walk.sort(RevSort.TOPO);
    walk.sort(RevSort.COMMIT_TIME_DESC, true);
    walk.markStart(mostRecentCommit);

    List<String> messages = new ArrayList<String>();
    for (Iterator<RevCommit> iterator = walk.iterator(); iterator.hasNext();) {
        RevCommit commit = iterator.next();
        messages.add(commit.getFullMessage());
    }
RevWalk=newrevwalk(回购);
ObjectId head=回购决议(“head”);
RevCommit-recentCommit=walk.parseCommit(head);
walk.sort(RevSort.TOPO);
walk.sort(RevSort.COMMIT\u TIME\u DESC,true);
walk.markStart(mostRecentCommit);
列表消息=新建ArrayList();
for(Iterator Iterator=walk.Iterator();Iterator.hasNext();){
RevCommit=iterator.next();
messages.add(commit.getFullMessage());
}
使用git日志,它给出了以下结果。提交a867b4a-添加的新功能应在下一版本1.12中

$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400
      - prepare release version 1.12

commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date:   Thu Nov 4 05:13:39 2010 -0400
      - More stuff

commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date:   Thu Nov 4 00:55:06 2010 -0400
         prepare release version **1.11**

commit **a867b4af366350be2e7c21b8de9cc6504678a61b`**
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400
      - Added new functionality
$git日志
提交a867b4af366350be2e7c21b8de9cc6504678a61b`
作者:我
日期:周四11月4日18:59:41 2010-0400
-准备发布版本1.12
提交25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
作者:我
日期:2010年11月4日星期四05:13:39-0400
-更多的东西
提交0766c053c0ea2035e90f504928f8df3c9363b8bd
作者:我
日期:2010年11月4日星期四00:55:06-0400
准备发布版本**1.11**
提交**a867b4af366350be2e7c21b8de9cc6504678a61b`**
作者:我
日期:周四11月4日18:59:41 2010-0400
-增加了新功能
git日志--topo order works提交a867b4a-添加的新功能位于正确的标记1.12中

$ git log --topo-order
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400
      - prepare release version 1.12

commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date:   Thu Nov 4 05:13:39 2010 -0400
      - More stuff

commit **a867b4af366350be2e7c21b8de9cc6504678a61b`**
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400
      - Added new functionality

commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date:   Thu Nov 4 00:55:06 2010 -0400
         prepare release version 1.11
$git日志--拓扑顺序
提交a867b4af366350be2e7c21b8de9cc6504678a61b`
作者:我
日期:周四11月4日18:59:41 2010-0400
-准备发布版本1.12
提交25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
作者:我
日期:2010年11月4日星期四05:13:39-0400
-更多的东西
提交**a867b4af366350be2e7c21b8de9cc6504678a61b`**
作者:我
日期:周四11月4日18:59:41 2010-0400
-增加了新功能
提交0766c053c0ea2035e90f504928f8df3c9363b8bd
作者:我
日期:2010年11月4日星期四00:55:06-0400
准备发布版本1.11