[20161001] GentooのGitでebuild コントリビューション方法
by
Alice Ferrazzi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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