【问题标题】:Source R from bitbucket private snippet来自 bitbucket 私有片段的源 R
【发布时间】:2016-01-18 16:08:20
【问题描述】:

我想获取我在 bitbucket 中创建的 R 脚本文件作为 sn-p。当我使用来自devtools 包的source_url 时,我需要传递我不知道在哪里可以找到的sha1 值。我尝试了RCurlhttr 的一些函数,但无法获取脚本文件。谁能帮帮我吗?

【问题讨论】:

    标签: r bitbucket rcurl devtools httr


    【解决方案1】:

    您不需要传递 sha1 值。您可以只使用 原始文件的 url 获取 bitbucket 的 sn-ps(在 sn-p 中按下所需文件上的按钮 RAW,然后从地址栏中复制 url)。但是sn-p 应该是公开的,如果它是私有的,您就无法访问它。

    例如,对于这个愚蠢的 sn-p:https://bitbucket.org/snippets/anpefi/q8g69

    我将原始 kk.R 文件的 URL 设为 https://bitbucket.org/!api/2.0/snippets/anpefi/q8g69/4ca5ac49e4e3535dfdc85949ac20408aeed97567/files/kk.R

    那么,

    > x <- 0
    > source_url("https://bitbucket.org/!api/2.0/snippets/anpefi/q8g69/4ca5ac49e4e3535dfdc85949ac20408aeed97567/files/kk.R")
    SHA-1 hash of file is 9a56cd15e13986bc8699560759225ade199c17f7
    > x
     [1]  1  2  3  4  5  6  7  8  9 10
    

    如果我将 sn-p 设置为私有,这不起作用。

    [已编辑] 无论如何,如果您想要文件的 sha-1,下载它并使用 sha1sum(在 Linux 中)在本地获取 sha1。或者,您可以暂时将 sn-p 设置为 public,应用上述代码在输出中获取 sha1,然后再次将 sn-p 设为 private

    好的,再次编辑。我刚刚意识到,是的,您可以使用 sha1 获取私有 sn-p。

    【讨论】:

    • 编辑添加了如何获取文件的 sha1 的答案。
    • 再次编辑,因为我意识到使用 sha1 确实可以获取私有 sn-p。所以我强调了获取 sha1 的方法。
    • 有没有找到sn-p文件的sha?我没有linux系统。是否可以在线获取 bitbucket 文件?
    • 据我所知,您无法直接在 bitbucket 中获取 sha1。您已经可以使用我在答案中写的替代方式。也就是说,在 bitbucket 中转到您的 sn-p 并按编辑。除了权限之外不要更改任何内容,将它们设置为公开(别担心,这只是一段时间)。保存它,然后打开您的 R 会话。运行命令:source_url("URL_OF_YOUR_SNIPPET") 在输出中您将看到 sha1(就像我的答案中的示例一样)。然后您可以回到 bitbucket 并将您的 sn-p 的权限更改回私有(但不要更改文件,否则 sha1 会更改)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多