问题标签 [nodegit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1700 浏览

git - 使用 nodegit 获取所有分支上的所有提交

我正在编写一个小应用程序来分析文件夹内的 git 存储库。我正在使用 nodegit 来解析基于 libgit2 的 repo。

如何使用 nodegit 从 repo 中的所有分支获取所有提交?

这是我当前的代码:

0 投票
1 回答
1796 浏览

node.js - 在 centos6 上配置 gcc-4.8.5 以包含 GLIBCXX_3.4.20

大家好,我几天来一直在寻找解决这个问题的方法,但是网上发布的方法都没有对我有用。基本上我正在尝试在我的生产服务器()上安装NodeGit库。centos-release-6-8.el6.centos.12.3.x86_64这样做npm install会引发以下错误:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 给:

所以GLIBCXX_3.4.20失踪了。运行gcc -v 给出:

有些地方建议我在此之后安装 gcc-4.9 。但它根本不起作用,因为在生产服务器中我必须通过主机管理工具(Roller)安装 gcc,这很麻烦,我想避免这样做。

你们知道安装 GLIBCXX_3.4.20 的任何方法吗?

0 投票
1 回答
759 浏览

node.js - npm 安装期间 libssh2 中的“C 编译器无法创建可执行文件”

在nodegit的 npm install 期间出现以下错误:

有人可以帮我弄这个吗?是因为权限问题导致 C 编译器无法创建可执行文件吗?

我的环境:

操作系统:centos-release-6-8.el6.centos.12.3.x86_64

海湾合作委员会:4.9.1

打开ssl:openssl-1.0.1e-48.el6.x86_64

libssh2:libssh2-1.4.2-2.el6_7.1.x86_64

节点:v4.4.7

npm:2.15.8

gcc -v给出:

这是 /home/mhu/nodegit/vendor/libssh2 中 config.log 中给出错误的部分:

0 投票
1 回答
379 浏览

javascript - 电子上nodegit的异步操作不起作用

我正在使用 electron 和 nodegit 开发一个项目,我最近更新了我的依赖项。解决了兼容性问题后,我发现有两个版本的 nodegit 和 electron 可以工作。但经过测试,我发现异步 nodegit 操作失败,而同步操作正常。这是一个不起作用的代码示例:

在执行它时,promise 返回一个被 catch 块捕获的错误,并在控制台上输出值时简单地显示true,并且不提供任何附加信息。

此外,在更新我的依赖项之前,我已将节点从 5 更新到 6.3。

以前的:

电子预建:0.37.8
nodegit:0.13.0

更新后:

电子预建:1.2.1
nodegit:0.14.1

编辑:通过添加一个 npm 脚本解决:

和运行npm run rebuild

0 投票
2 回答
102 浏览

nodegit - 如何取消 nodegit 克隆操作?

使用 nodegit,如何取消长时间运行的克隆操作?我们的 repo 是 3GB,用户可能想中止它,因为它花费了太多时间。

我可以拒绝承诺吗?像这样?

0 投票
0 回答
61 浏览

node.js - 有没有办法用 nodegit 设置 git 配置?

这篇文章使用 NodeGit 读取 Git 配置变量回答了获取 git 配置,但是有没有办法使用 nodegit设置git 配置?

0 投票
0 回答
60 浏览

node.js - 是否有相当于`$ git add -N *`和`$ git diff --name-only`的nodegit?

就像标题所说的那样。我一直在寻找一段时间,但没有找到任何线索。

0 投票
1 回答
394 浏览

node.js - 如何使用 nodegit 删除远程分支?

我尝试在未定义 src 的情况下推送 refspec,并且它不会删除远程分支。这是我的代码的样子

我的控制台中的结果:

你有什么建议我可以删除远程分支吗?谢谢

0 投票
1 回答
1350 浏览

node.js - nodegit如何添加目录或目录中的所有文件?

我是 node js 和 git 的新手,我正在构建一个应用程序,它将在文本文件上写入结果并快速推送 git。经过多次努力,我发现了以下正在编写文件并在 github 上推送的代码。但我正在寻找一种方法,通过它我可以按名称推送整个目录而不是每个文件。所以请让我知道如何推送整个目录。

我当前的代码如下...

0 投票
2 回答
817 浏览

git - 使用 nodegit,如何在 git repo 中找到给定文件的最后更新日期?

我正在尝试使用 nodegit 将 git 视为内容的数据库。因此,我正在编写函数来访问 repo 中的内容。我能够检索文件 blob 和有关给定文件的其他信息,但我正在努力获取时间戳信息。

我想获取 1) 文件的创建日期,以及 2) 上次更新的日期。但到目前为止,我还没有弄清楚这是怎么可能的。

为了获取文件,我需要按照以下步骤操作:

1) 检索最新的Commit使用getMasterCommit.
2) 从Commit获取文件,TreeEntry使用getEntry.
3) 从 中TreeEntry,获取各种元数据,然后获取Blobwith getBlob
4) 从 中Blob,获取其他元数据以及文件的原始文本。

麻烦的是,我唯一能得到我找到的日期的地方是来自Commit,它有一个date功能。这可能有助于获取最后更新的日期,但实际上并没有帮助,因为它只返回Commmit(显然!)的日期,但尚不清楚该文件是否已针对该提交进行了更新。

我还希望能够获得为给定文件创建的日期。我可以想象这可以通过搜索给定 TreeEntry 的提交历史来获得,但我还不清楚如何做到这一点。事实上,能够搜索给定文件的提交历史可能是这里需要的东西。但我一直无法看到这是否可能。

有人可以在这里提供指导吗?