用jgit递归检查Git工作副本中的更改的最快方法是什么?

道路

我需要检查(递归地)Git工作副本的一部分以进行更改,包括未跟踪的文件。到目前为止,这是我正在使用的:

public Status getStatus(String[] paths) throws NoWorkTreeException, GitAPIException {
    StatusCommand cmd = git.status();
    Arrays.asList(paths).forEach((p) -> {
        if (!p.isEmpty()) {
            cmd.addPath(p);
        }
    });
    return cmd.call();
}

然后我使用检查返回的状态

public isModifed(Status status) {
    return (status.hasUncommittedChanges() ||
        status.getUntracked().isEmpty() ||
        status.getUntrackedFolders().isEmpty());
}

我想知道的是:有没有更快的方法?

鲁迪格·赫尔曼

据我所知,这是高级JGit API提供的最快/唯一方法。

如果您需要溃烂之路,则可以通过缓冲较早的修改后的计算结果来提高速度-鉴于您的用例合适。而且,您将不得不使用较低级别的JGit API并StatusCommand自己实现大部分功能。

例如,迭代工作目录的子树并为其中的文件计算对象ID(SHA-1哈希)。然后遍历存储库的相同路径并收集对象ID。两组对象ID都可用于确定文件是否被修改,并且只有在存储库或工作树发生更改时才可以对其进行缓冲和无效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

检查点是否在python中的多边形内的最快方法是什么

来自分类Dev

检查类型最快的方法是什么?

来自分类Dev

检查网页状态的最快方法是什么?

来自分类Dev

Dart:检查字符串中特定符号是否为数字的最快方法是什么?

来自分类Dev

在as3中访问视频像素的最快方法是什么?

来自分类Dev

检查svn工作副本是否已更改的最快方法是什么?

来自分类Dev

在R中执行多个逻辑比较的最快方法是什么?

来自分类Dev

用R删除文件最快的方法是什么

来自分类Dev

使用VBA将二维数组卸载到Excel工作表中的最快方法是什么?

来自分类Dev

检查数据库中是否有新条目的最快,最有效的方法是什么?

来自分类Dev

使用按位运算检查变量中位的最快方法是什么?

来自分类Dev

将递归函数的结果连接到Javascript数组中的最快方法是什么?

来自分类Dev

用键从一小组物品中查找物品的最快方法是什么?

来自分类Dev

在GIT中在本地上克隆特定存储库分支的最简单/最快方法是什么

来自分类Dev

更改ArrayList中元素顺序的最快方法是什么?

来自分类Dev

检查数千个网址的最快方法是什么?

来自分类Dev

用Java在null中填充ArrayList的最快方法是什么?

来自分类Dev

检查文件是否在Bash中更改并保留15个最新副本的最佳方法是什么?

来自分类Dev

获取当前git分支的最快方法(CPU时间)是什么?

来自分类Dev

在同一Subversion存储库中的工作副本中使用嵌套svn工作副本的最佳方法是什么?

来自分类Dev

用C语言在std中打印换行的最快方法是什么?

来自分类Dev

修剪git树最快的方法是什么?

来自分类Dev

从git remote拉出后,工作副本中充满了文件更改-为什么?提交它们安全吗?

来自分类Dev

检查用户是否在大表中的最快方法是什么?(性能优化)

来自分类Dev

用C组织数据的最快方法是什么?

来自分类Dev

在git中仅提交某些更改的正确方法是什么?

来自分类Dev

执行HTTP请求并检查404的最快方法是什么?

来自分类Dev

用R删除文件最快的方法是什么

来自分类Dev

在 JavaScript 中检查字符串是否仅包含空格的最快方法是什么?

Related 相关文章

  1. 1

    检查点是否在python中的多边形内的最快方法是什么

  2. 2

    检查类型最快的方法是什么?

  3. 3

    检查网页状态的最快方法是什么?

  4. 4

    Dart:检查字符串中特定符号是否为数字的最快方法是什么?

  5. 5

    在as3中访问视频像素的最快方法是什么?

  6. 6

    检查svn工作副本是否已更改的最快方法是什么?

  7. 7

    在R中执行多个逻辑比较的最快方法是什么?

  8. 8

    用R删除文件最快的方法是什么

  9. 9

    使用VBA将二维数组卸载到Excel工作表中的最快方法是什么?

  10. 10

    检查数据库中是否有新条目的最快,最有效的方法是什么?

  11. 11

    使用按位运算检查变量中位的最快方法是什么?

  12. 12

    将递归函数的结果连接到Javascript数组中的最快方法是什么?

  13. 13

    用键从一小组物品中查找物品的最快方法是什么?

  14. 14

    在GIT中在本地上克隆特定存储库分支的最简单/最快方法是什么

  15. 15

    更改ArrayList中元素顺序的最快方法是什么?

  16. 16

    检查数千个网址的最快方法是什么?

  17. 17

    用Java在null中填充ArrayList的最快方法是什么?

  18. 18

    检查文件是否在Bash中更改并保留15个最新副本的最佳方法是什么?

  19. 19

    获取当前git分支的最快方法(CPU时间)是什么?

  20. 20

    在同一Subversion存储库中的工作副本中使用嵌套svn工作副本的最佳方法是什么?

  21. 21

    用C语言在std中打印换行的最快方法是什么?

  22. 22

    修剪git树最快的方法是什么?

  23. 23

    从git remote拉出后,工作副本中充满了文件更改-为什么?提交它们安全吗?

  24. 24

    检查用户是否在大表中的最快方法是什么?(性能优化)

  25. 25

    用C组织数据的最快方法是什么?

  26. 26

    在git中仅提交某些更改的正确方法是什么?

  27. 27

    执行HTTP请求并检查404的最快方法是什么?

  28. 28

    用R删除文件最快的方法是什么

  29. 29

    在 JavaScript 中检查字符串是否仅包含空格的最快方法是什么?

热门标签

归档