微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nodegit treebuilder错误:无法插入条目:指定了无效的对象

如何解决Nodegit treebuilder错误:无法插入条目:指定了无效的对象

我正在使用打字稿中的nodegit探索git。我正在将回购的内容写入外部文件,然后尝试使用该文件内容重新创建新的回购。

这是外部文件的结构:

interface ITree {
    sha: string;
    url: string;
    tree: ITreeEntry[];
}

export interface ITreeEntry {
    path: string;
    mode: string;
    type: string;
    size: number;
    sha: string;
    content: string;
}

我正在尝试读取外部文件并创建一个新的仓库,如下所示:

  1. 我正在树上遍历,每当看到斑点时,我都会将斑点推入新创建的存储库中
  2. 然后,我尝试使用nodegit Treebuilder创建树。但是,当我尝试在Treebuilder中插入以下节点时,出现错误:{“ mode”:“ 40000”,“ path”:“。logTail”,“ sha”:“ 5df738a98c422a0d9ad6f142f9c3724aeaf952f0”,“ type”:“树”}

Failed to insert entry: invalid object specified - .logTail

const repository = await repoManager.open(owner,repo);
const builder = await git.Treebuilder.create(repository,null);
for (const node of tree) {
    builder.insert(node.path,git.Oid.fromString(node.sha),parseInt(node.mode,8));
}

我希望使用此git树来创建提交,然后更新引用以从外部文件有效地补水。有人可以让我知道我在哪里出错吗?

我从this link看到会有更多的验证,但是我不明白为什么我要插入的对象无效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。