【问题标题】:Getting the list of changed files from a commit in JGit从 JGit 中的提交中获取已更改文件的列表
【发布时间】:2012-02-24 08:32:33
【问题描述】:

我正在尝试通过提供提交 ID 来获取所有已提交的文件。

RevCommit commit = walk.parseCommit(ObjectId.fromString(objId));
FileTreeIterator fileTreeItr = new FileTreeIterator(repository);
Tree tree = new Tree(repository);
IndexDiff indexDiff = new IndexDiff(repository, commit.getId(), fileTreeItr);
System.out.println(indexDiff.getChanged());
System.out.println(indexDiff.getAdded());

上面的代码不起作用,有人可以找出这里有什么问题或任何其他方法可以让它工作吗?

【问题讨论】:

    标签: git jgit


    【解决方案1】:

    也许这个code example 在使用 IndexDiff 时会有所帮助。

    IResource project = session.getLaunchedProject().getResource();
    File gitDir = new File(project.getLocation().toFile().toString() + "/.git");
    System.out.println("gitDir:" + gitDir);
    Repository repository = new FileRepository(gitDir);
    
    File workTree = repository.getWorkTree();
    IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
    WorkingTreeIterator fileTreeIterator =
    new AdaptableFileTreeIterator(workTree, workspaceRoot);
    
    IndexDiff indexDiff = new IndexDiff(repository, Constants.HEAD, fileTreeIterator);
    

    【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2014-11-26
    • 2015-05-01
    • 1970-01-01
    • 2017-03-28
    • 2012-04-27
    • 2019-09-14
    • 2021-12-04
    • 2012-09-11
    相关资源
    最近更新 更多