[20161001] GentooのGitでebuild コントリビューション方法

[20161001] GentooのGitでebuild コントリビューション方法

Gentoo勉強会のプレゼンです.
http://gentoo.connpass.com/event/40906/

4913fbd3752f0f09d91388fb2133375b?s=128

Alice Ferrazzi

October 01, 2016
Tweet

Transcript

  1. GentooのGitでebuild コントリビューション方法 Alice Ferrazzi

  2. Ebuildのコントリビューション方法: 1) mentorに送ってコミットしてもらう 2) proxy mantainer 3) Send a pull

    request
  3. プルリクエストの良い点: • レビューの歴史がのこる • パッチが早くupstream mergeができます. • 複数のDeveloperがレビューしてくれる. • QAの自動チェック

    プルーリクエストの悪い点: • レビューも公開になります. • Gitの知識必要です.
  4. Gentoo repository fork https://github.com/gentoo/gentoo

  5. Gentoo githubをforkして forkをCloneの時 --depth=50 をつかえましょう 履歴情報は50しかないです. 最新版から50コミット情報だけ取得する.

  6. Upsteamリモートリポジトリを追加する. git remote add upstream git@github.com:gentoo/gentoo.git localのGentooリポジトリを更新する. git pull --depth=50

    upstream master git push
  7. ebuild を確認する ebuild foo.ebuild fetch prepare install test

  8. Commit repoman -dx commit

  9. None
  10. Commit messageは レポジトリ歴史を参考として使う Gentoo_git_workflow

  11. Git push

  12. GithubからPull requestする.

  13. こんな感じになります https://github.com/gentoo/gentoo/pull/2439

  14. 全部のgithub gentooプルリクエストが pkgcheckから確認する. https://qa-reports.gentoo.org

  15. 重要なポイント 1. Repomanを使えましょう ◦ Repoman -dx full ◦ Repoman -dx

    commit 2. “Atomic” commit 異なる変更の集合が一つのコミット ◦ Ebuild bump ◦ 古いバージョンを削除
  16. Squash commit in one git rebase -i HEAD~3

  17. もしプルーリクエストがバッグを直したら Gentoo-Bug: https://bugs.gentoo.org/12345.

  18. プルーリクエストのコメントに bug log入れて良いです. https://bpaste.net/

  19. Manteinerに報告する @foo @gentoo/bar

  20. Fast-forward and push

  21. More information https://wiki.gentoo.org/wiki/Gentoo_Github