#ipfs #git #libgit2 #p2p #git-remote

nip_core

nip git-ipfs 助手的后端库

4个版本

0.2.1 2019年3月27日
0.2.0 2019年2月25日
0.1.1 2018年12月11日
0.1.0 2018年12月8日

#13 in #libgit2


nip中使用

BSD-3-Clause

50KB
1K SLoC

nip_core

欢迎来到 nip_core,这是nip的后端库!请访问这里获取文档。


lib.rs:

nip_core是一个库,允许您以编程方式与nip仓库交互。

extern crate failure;
extern crate git2;
extern crate ipfs_api;
extern crate nip_core;

use failure::Error;
use git2::Repository;
use ipfs_api::IpfsClient;
use nip_core::{NIPIndex, NIPRemote};

// Open the local repository
let mut repo = Repository::open_from_env()?;

// Get a handle for IPFS API
let mut ipfs = IpfsClient::default();

// Instantiate a brand new nip index
let mut idx = NIPIndex::from_nip_remote(&NIPRemote::NewIPFS, &mut ipfs)?;

// Upload the full object tree behind a specified local ref to IPFS
idx.push_ref_from_str("refs/heads/master", "refs/heads/master", false, &mut repo, &mut ipfs)?;

// Also upload the brand new index itself
let nip_remote: NIPRemote = idx.ipfs_add(&mut ipfs, None)?;

println!("Success! refs/heads/master uploaded to remote {}", nip_remote.to_string());

依赖关系

~23–35MB
~608K SLoC