Commit 7d222466 authored by Lars Gierth's avatar Lars Gierth Committed by Jeromy
Browse files

Add package extraction notes



License: MIT
Signed-off-by: default avatarLars Gierth <larsg@systemli.org>
parent fa837475
......@@ -53,3 +53,55 @@ $ go test ./p2p/<path of module you want to run tests for>
## Links
- [**Specs**](https://github.com/ipfs/specs/tree/master/libp2p)
- [**Website**](https://github.com/diasdavid/libp2p-website)
## Extracting packages from go-libp2p
We want to maintain history, so we'll use git-subtree for extracting packages.
```sh
# 1) create the extracted tree (has the directory specified as -P as its root)
> cd go-libp2p/
> git subtree split -P p2p/crypto/secio/ -b libp2p-secio
62b0a5c21574bcbe06c422785cd5feff378ae5bd
# important to delete the tree now, so that outdated imports fail in step 5
> git rm -r p2p/crypto/secio/
> git commit
> cd ../
# 2) make the new repo
> mkdir go-libp2p-secio
> cd go-libp2p-secio/
> git init && git commit --allow-empty
# 3) fetch the extracted tree from the previous repo
> git remote add libp2p ../go-libp2p
> git fetch libp2p
> git reset --hard libp2p/libp2p-secio
# 4) update self import paths
> sed -someflagsidontknow 'go-libp2p/p2p/crypto/secio' 'golibp2p-secio'
> git commit
# 5) create package.json and check all imports are correct
> vim package.json
> gx --verbose install --global
> gx-go rewrite
> go test ./...
> gx-go rewrite --undo
> git commit
# 4) make the package ready
> vim README.md LICENSE
> git commit
# 5) bump the version separately
> vim package.json
> gx publish
> git add package.json .gx/
> git commit -m 'Publish 1.2.3'
# 6) clean up and push
> git remote rm libp2p
> git push origin master
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment