Skip to content

An experiment in using IPFS as a git LFS endpoint

License

Notifications You must be signed in to change notification settings

EwoutH/git-lfs-ipfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-lfs-ipfs

Working git-lfs custom transfer and extension implementations to use IPFS as storage.

Build Status

Coverage Status

Installation

Building

git clone [email protected]:sameer/git-lfs-ipfs.git
cd git-lfs-ipfs/git-lfs-ipfs-cli
cargo build --release

Packages

None yet!

Configuration

Add the custom transfer and extensions for IPFS to your ~/.gitconfig:

[lfs "customtransfer.ipfs"]
	path = git-lfs-ipfs-cli
	args = transfer
	concurrent = true
	direction = both
[lfs "extension.ipfs"]
    clean = git-lfs-ipfs-cli clean %f
    smudge = git-lfs-ipfs-cli smudge %f
    priority = 0

Note that git-lfs-ipfs will be enabled by default for all future LFS usage if you add these lines to your configuration.

Demo

A demo repository is available to test out your installation: sameer/git-lfs-ipfs-demo.

Usage

Use git LFS like you usually do and all subsequent files added in LFS will be added to IPFS.

Currently files already on S3, etc. cannot be read unless you remove the [lfs "customtransfer.ipfs"] entry in ~/.gitconfig, because the IPFS custom transfer overrides your default transfer.

About

An experiment in using IPFS as a git LFS endpoint

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.2%
  • Shell 0.8%