问题描述
我正在使用打字稿中的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;
}
- 我正在树上遍历,每当看到斑点时,我都会将斑点推入新创建的存储库中
- 然后,我尝试使用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 (将#修改为@)