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