【问题标题】:PR review comment position公关评论评论位置
【发布时间】:2016-06-16 18:11:28
【问题描述】:

当我在 GitHub 上获得代码审查评论的 position 时,它会根据 API documentationdiff 返回一个索引,但我无法将该 diff 索引映射到原始文件行。请有相关经验的朋友帮忙。

【问题讨论】:

    标签: github position pull-request git-diff


    【解决方案1】:

    响应还包括一个original_position 字段,该字段应包含原始文件中的行号。

    请记住,这些是差异中的位置,而不是与文件开头的偏移量。您可以在文件中的 diff_hunk 字段中找到 diff hunk 本身的偏移量。 hunk 之间的位置不会重置,因此需要从position 中减去前面 hunk 的大小总和,以获得相关 hunk 内的行偏移量。

    在文件here中有一些关于position和行之间关系的文档:

    位置值是从文件中第一个“@@”块头开始向下的行数...“@@”行正下方的行是位置 1,下一行是位置 2,依此类推在。文件差异中的位置通过空白行和额外的大块继续增加,直到到达新文件。

    【讨论】:

    • 我也检查过,但这也是另一个索引,通常设置为 0。
    • 位置应该在相关的差异大块内。为澄清而编辑。
    • 好的。你能帮我理解一下这个位置怎么可能是140吗?我可以看到评论——“我不确定为什么这会出现在差异中——你移动它了吗?”在这两个帅哥之间——'@@ -1521,16 +1576,6 @@' 和 '@@ -1540,8 +1585,8 @@' 的 dygraph.js 在 github.com/danvk/dygraphs/pull/ 296/文件。 api可以从这里访问:api.github.com/repos/danvk/dygraphs/pulls/296/comments
    • 大块之间的位置不会重置为零。我更新了一些额外的解释。
    • 好的,谢谢。但是,我得到实例位置=0,这是什么意思?按照 DOC 的说法,这个位置应该永远不会是 0,对吧?
    猜你喜欢
    • 1970-01-01
    • 2015-06-12
    • 2011-04-15
    • 2013-07-10
    • 2011-12-18
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2020-01-09
    相关资源
    最近更新 更多