【发布时间】:2021-11-16 20:38:58
【问题描述】:
我能够获得每个提交的统计数据(添加、删除、总计),但是我如何才能获得整体 #? 例如,如果一个 MR 有 30 次提交,我需要添加\删除的代码行数,您可以在右上角看到。 这个 # 不是每次提交的所有 # 的总和。 因此,我需要一个 API 来返回在 MR 级别添加\删除的净代码行数(无论有多少提交)。 例如,如果我有 2 次提交:第一次添加 10 行,第二次删除完全相同的 10 行,那么 net # 为 0。
这是场景: 我有一个 30 次提交的 MR。 GitLab API 支持获取每个提交(单独)的统计信息(添加\删除的代码行)。 如果我进入 GitLab UI,转到 MR \ Changes,我看到添加\删除的行数不是我通过 API 获得的所有提交统计信息的总和。 那是我的问题。 一个更简单的例子:假设我有 2 次提交,一次添加了 10 行代码,而第二次提交删除了完全相同的 10 行代码。使用 API,我得到了总和,即添加了 20 个 LOC。但是,如果我进入 GitLab UI \ Changes,它会显示 0(零),这是正确的;这是整体 chgs 的净值。这是我注意到的不一致之处。
【问题讨论】:
-
IS NOT the sum of all #'s per commit你所描述的是正是MR中每个提交的所有添加/删除的总和,所以我有点困惑。我不确定我是否完全理解您要查找的内容,如果您确定您要查找的内容不是 MR 中所有提交中删除和添加的总和。 -
感谢您的回复。
-
我想我现在明白你的意思了——关键因素是在后续提交中删除 相同的行 时。假设一个提交删除了 不同 行,这些行 not 从同一 MR 中的提交中添加,您想计算这些行。换句话说,如果 LOC 中的 有效 更改被另一次提交抹去,你不想在你的行数中考虑它。
-
是的,这就是问题所在;希望有人有解决方案。
-
我现在明白了。虽然没有直接为您提供计数的 API,但您可以自己从 diff 中计算出来。我添加了一个带有完整工作解决方案的答案。
标签: api statistics gitlab