[20161001] GentooのGitでebuild コントリビューション方法
by
Alice Ferrazzi
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
GentooのGitでebuild コントリビューション方法 Alice Ferrazzi
Slide 2
Slide 2 text
Ebuildのコントリビューション方法: 1) mentorに送ってコミットしてもらう 2) proxy mantainer 3) Send a pull request
Slide 3
Slide 3 text
プルリクエストの良い点: ● レビューの歴史がのこる ● パッチが早くupstream mergeができます. ● 複数のDeveloperがレビューしてくれる. ● QAの自動チェック プルーリクエストの悪い点: ● レビューも公開になります. ● Gitの知識必要です.
Slide 4
Slide 4 text
Gentoo repository fork https://github.com/gentoo/gentoo
Slide 5
Slide 5 text
Gentoo githubをforkして forkをCloneの時 --depth=50 をつかえましょう 履歴情報は50しかないです. 最新版から50コミット情報だけ取得する.
Slide 6
Slide 6 text
Upsteamリモートリポジトリを追加する. git remote add upstream
[email protected]
:gentoo/gentoo.git localのGentooリポジトリを更新する. git pull --depth=50 upstream master git push
Slide 7
Slide 7 text
ebuild を確認する ebuild foo.ebuild fetch prepare install test
Slide 8
Slide 8 text
Commit repoman -dx commit
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
Commit messageは レポジトリ歴史を参考として使う Gentoo_git_workflow
Slide 11
Slide 11 text
Git push
Slide 12
Slide 12 text
GithubからPull requestする.
Slide 13
Slide 13 text
こんな感じになります https://github.com/gentoo/gentoo/pull/2439
Slide 14
Slide 14 text
全部のgithub gentooプルリクエストが pkgcheckから確認する. https://qa-reports.gentoo.org
Slide 15
Slide 15 text
重要なポイント 1. Repomanを使えましょう ○ Repoman -dx full ○ Repoman -dx commit 2. “Atomic” commit 異なる変更の集合が一つのコミット ○ Ebuild bump ○ 古いバージョンを削除
Slide 16
Slide 16 text
Squash commit in one git rebase -i HEAD~3
Slide 17
Slide 17 text
もしプルーリクエストがバッグを直したら Gentoo-Bug: https://bugs.gentoo.org/12345.
Slide 18
Slide 18 text
プルーリクエストのコメントに bug log入れて良いです. https://bpaste.net/
Slide 19
Slide 19 text
Manteinerに報告する @foo @gentoo/bar
Slide 20
Slide 20 text
Fast-forward and push
Slide 21
Slide 21 text
More information https://wiki.gentoo.org/wiki/Gentoo_Github