githubでhostされているOSSにPRを送る時に
- forkする
- forkしたrepositoryを手元にcloneする
- 作業
- forkにpush
- PR送る
という流れで作業する事が多いのですが、Goで書かれているOSSの場合、forkしたコード内でfork元の方のsubpackageをimportして動かない事がありました。
// fork元
import "github.com/original/subpackage"
// fork
import "github.com/original/subpackage" // 本当は"github.com/fork/subpackage"を指して欲しい
解決策
こちらの記事に書いてあるように、
- forkする
- originalの方のrepositoryをcloneする
- 2でcloneしたrepositoryに、1のrepositoryをremoteとして追加する
- 2でcloneしたrepoistoryで作業
- 3で追加したforkにpush
でやるのが良さそうです。