GitHub Pull Request ではなく git request-pull
Linus が
Git comes with a nice pull-request generation module, but github
https://github.com/torvalds/linux/pull/17#issuecomment-5654674
instead decided to replace it with their own totally inferior version.
Gitにはniceな pull-requestモジュールがあるのにGitHubは劣化版に置き換えた、と言っていて
I believe he's referring to git-request-pull.
https://github.com/torvalds/linux/pull/17#issuecomment-5660608
それは git request-pull のことらしい。
というのを読んだので、使い方のメモ。
git request-pull [-p] <start> <url> [<end>]
このコマンドでリクエストを生成する。例えば
% git request-pull origin/master https://github.com/nishimura/ghcjs-form-sample1 use-template-haskell The following changes since commit 555c1c69f771b519e4c22a534f8d6b3837497361: Merge branch 'monad-trans' (2019-06-18 21:19:37 +0900) are available in the git repository at: https://github.com/nishimura/ghcjs-form-sample1 use-template-haskell for you to fetch changes up to 64b5751f8bb115e354054572b78488d4c2a81980: add code generator by template haskell (2019-06-21 20:17:40 +0900) ---------------------------------------------------------------- Satoshi Nishimura (1): add code generator by template haskell app/AppMain.hs | 8 ++++---- app/Generate1.hs | 45 +++++++++++++++++++++++++++++++++++++++++++++ app/Generate2.hs | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/Helper.hs | 46 ++++++++++++++++------------------------------ package.yaml | 1 + 5 files changed, 125 insertions(+), 34 deletions(-) create mode 100644 app/Generate1.hs create mode 100644 app/Generate2.hs
こんな感じに、git log --stat のようなログが生成される。
ここにアップしたから受け取ってというメッセージになっている。
これを見てpullする人は、何か適当にブランチを切って書いてあるメッセージの通りにpullすれば良い。
git checkout -b work/merge1 555c1c69f771b519e4c22a534f8d6b3837497361 git pull https://github.com/nishimura/ghcjs-form-sample1 use-template-haskell
これで問題なければdevelopやmaster等にマージする。
分散バージョン管理っぽい。
Linusが時々タグ云々と言っているのは、git tagではなくて
とあるエンジニアの備忘log: git の Acked-by と Reviewed-by
ここの reviewed-by とかのこと?
CodeReview - SambaWiki
この辺りも詳しい。
Signed-off-by は git commit --signoff があるけど Reviewed-by などは手動だって。
自動化は
Elasticity: Adding Reviewed-by and Acked-by Tags with Git
こんな感じ。
これって一連のコミット(3コミットとか)をレビューしてマージする場合はrebaseとかでコメントを全部書き換えることになるのか。
この方針だとGPGのsignとかコミットに付けてもマージ時に全部消えるってことか。