-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PRのマージ方法 #178
Comments
fork 先のブランチからの PR は、fork 元の main に対するマージになるようですね。
これは不可能で、PR の内容に手直しが必要な場合は
のどちらかになる、という理解でいいでしょうか? |
実例PR #158 / issue #157
PR #165 / issue #163
PR #174 / issue #160
|
|
#176 を approve しましたが、これが 1 とカウントされるので 2 には足りず、block 状態のままでした。 進まないので、#176 は強制的にマージしてみました。 |
リポジトリのどこをとってもビルドできて動作するのが好ましいと思うので
が良いかなと思いはじめました。
他のブランチがマージされた結果、
1は少ないかなと2にしてみたのですが、 |
賛成です。
2名が approve すれば強制マージしなくてよいという話で妥当だと思いますが、それが困難ということでしょうか。 |
自分(zmatsuo)が出したPRは自分で(zmatsuoが)approveできないので リポジトリをまたぐと違うのかな?ということで やはり自分のPRには自分でapproveできないようです。 プロジェクトメンバーだと、teratermの元リポジトリにそのままpushできるので |
さらに修正が必要なマージの話
これは、外部のブランチを自分のところのブランチにして、修正して、main にマージすることを言っていますか?
これだと、最終的に完成できるかわからないものが main に入るので、望ましいとは思いません。なんのためのブランチかという話になると思います。 そのままマージできない場合(conflict が起きる場合)の話やはり外部ブランチ側で修正してもらうのが、最もスマートな気がします。 ブランチ保護機能の話
自分で自分の PR を approve できないので、私たちのコミットがプロテクトされて main に入りません。 |
" 対応としては
などの案があると思います。(外野から口出しするのもおこがましいと思います。すみません。) |
#180 を見ていたところ、自分にも Approve が選択できるようです。てっきり Organization のメンバに限定なのだろうと思い込んでおりました。試しに Approve を選択して Submit rewview してみてもよいでしょうか? |
試しに Approve を選択して submit review してみましたが、2 のまま変わらず、でした。駄コメントを付けてしまって失礼しました。 |
webeditorを使うと簡単かもしれないです。 #156 のconflictで、 This branch has conflicts that must be resolved と表示されていて、 こんな感じになっています。 ソース修正がconflictしてよくわからないときは修正をお願いするのがよさそう。
いまいちですかね。
そうですね。
あるブランチ(≒PR)をプロジェクトがmainにmergeしないと 1つのブランチに最後まで(mainにマージまで)集中していていることもあります。 history.html を web editorで直せそう、ぐらいのconflictなら
approveが1になれば、メンバーなら強制的にマージで良いかなと思いますがどうでしょう?
1 にするといまひとつチェックがあまいのではと思うので 2 が妥当かなと考えました。
どれぐらいPRのチェックに時間が割けるかはいろいろで PR(やIssue)にTera Termのメンバではない方が👍をつけていたり |
「auto merge されない PR」を「レビュー依頼」として使うのは良くないと思います。 |
approve の使い方(GitHubの機能)について
確認したところ、メンバーでなくても approve できる設定になっていました。
試しに approve してみたところ、緑のチェックが付きました。 approve と merge のルール(設定値)について@zmatsuo (誰でも approve できる && +2で自動マージする) という状態は大丈夫でしょうか?
merge のルール(運用)について私の中では「十分な修正が行われている」=「mainにmergeできる」=「approveできる」です。
「耳がそろった」PR で conflict が起きた場合、webeditorを使ったら「ブランチで修正」のち「mainにマージ」が行われるならよいと思います。 conflict が起こらなかった場合に「conflictが起きてないからapproveしよう」というのは「なし」で、「耳がそろっていない」PR(例: ドキュメントが不足している)かどうかを確認する必要があると考えています。
その理解です。
でよいと思います。 コメントが書ける箇所あちこちにコメントを書けるので、相談したいときどこに書くか迷いそうです。
issueが一番上位(たいていbranchを切る根拠になるので、issueがbranchよりも上)にあると思うので、なるべくissueに書くようにしています。 |
history.html については |
zmatsuoやnmayaはPull Request レビュー (≒レビュー依頼) を使えばいいのかな?
approveの2以外はデフォルトだったとおもいます。
2なのは(たとえばnmayaさんと私の)2人がapproveとしたらマージしてよい 現在は自動マージはOFFです。Settings の General の中にあります。(自動マージを管理する)
よいと思います。
PR と issue で2重になるので PRを作ったときはそれだけでよいかなと思います。 |
Pull Request レビュー出しました。 #184 Reviewers のところに と出ているので二人のレビューが必要そうですね。 |
了解です。
でどうでしょうか? |
私は「問題」でも「タスク」でも issue を切ります。
svn と ticket のときの記述ですが、私はこの作業手順で続けるつもりでいます。 もし issue がないと、branch の作成と commit が先に行われるので、状況説明を commit のログに書くことになります。
git では branch = PR が修正の固まりで、個別の commit にそれほど大きな意味がないのかもしれません。 |
この設定でconflictが起きづらくなるなら有用な設定だと思います。 |
gitattributes でこういうことができるんですね。 入れてみて、いただいているPRをマージしてみます。 |
そうしましょう。off にしました。(デフォルトに戻しました。) |
- history.html で使用する merge driver を union に変更
手元の git では #178 (comment) のようにファイル名だけにしてあげたら効きました。github の auto merge がどう働くかまでは試せていませんが、一度 パス名を抜いて ファイル名だけにしてみてはいかがでしょうか。 |
変更してみました。 f5969c7 |
#171 は "This branch has conflicts that must be resolved" ですね。 |
もしかすると PR側に必要なのかもしれないですね。> .gitattributes |
171 は期待通り普通にマージできて、#185 はコンフリクトと出ています。 追記: |
了解しました。頭の隅に入れておきます。 |
CONTRIBUTING.md を追加しました。 ほとんど使ったことがないですが |
CONTRIBUTING.md, LICENSE.md, README.md を追加 #178
マージのときに、意図せずソースの文字コードが Shift_JIS から UTF-8 に変更されました。
|
これまでの経緯
TeraTermProject/osdn-download#13
#136 (comment)
悩ましいですね。並行作業していると history.html もコンフリクトしそうです。
みなさんどうしているのか分かりませんが、こんなことをしているのでしょうか?
(1) がゼロならプロジェクト側は楽ですが、そう思い通りにはならないだろうと思います。
(2) はプロジェクト側で PR を取り込んでからプロジェクト側でできないことはないですが、「歴史改変は自分だけが触れる所で行うべし」というものだったと思うので、PRする側にやってもらったほうが間違いがないと思っています。
「LogDefaultPath に実在しないパスが指定されていて LogAutoStart=on でログ記録が開始できないとき、エラーメッセージを表示するようにした」
こんな感じでしょうか?
Originally posted by @nmaya in #157 (comment)
今回はGitHub上でmargeして、改版履歴を追加しました。
gitだけを使って、GitHubを使わないマージだと、
マージしたところに(コミットea20294)に改版履歴を混ぜこんで
pushするかなと思います。
クローズします。
Originally posted by @zmatsuo in #157 (comment)
CONTRIBUTING.md にプルリクエストの作成について簡単にかきました。
この通りでなければならないということではないですが、
標準的なやり方に従うのがわかりやすいのかなと思います。
プルリクエスト(≒作成したブランチ)をmainにマージするのに
プルリクエストの承認が使えそうです。
ブランチ保護ルールを作成する で、Require approvals を 2 に設定してみました。
_Originally posted by @zmatsuo in #177
The text was updated successfully, but these errors were encountered: