From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-2.7 required=3.0 tests=AWL,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id CCB141F45A for ; Mon, 12 Aug 2019 16:53:27 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 6397E120A73; Tue, 13 Aug 2019 01:53:20 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id DF1DF120A36 for ; Tue, 13 Aug 2019 01:53:18 +0900 (JST) Received: by filter0073p3iad2.sendgrid.net with SMTP id filter0073p3iad2-24183-5D519980-42 2019-08-12 16:53:20.908369956 +0000 UTC m=+1460980.452720349 Received: from herokuapp.com (unknown [3.81.120.68]) by ismtpd0025p1mdw1.sendgrid.net (SG) with ESMTP id zh5y8bvPTwuT3L9ZBZb5OQ for ; Mon, 12 Aug 2019 16:53:20.818 +0000 (UTC) Date: Mon, 12 Aug 2019 16:53:21 +0000 (UTC) From: takashikkbn@gmail.com Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 69853 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 16094 X-Redmine-Issue-Author: k0kubun X-Redmine-Issue-Assignee: k0kubun X-Redmine-Sender: k0kubun X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?9bN4wU0cxWeLAEOz6NELGbwCNAokUg6cnjH8nvx=2FqgZzVUeGqkUAGzZFjUYa9S?= =?us-ascii?Q?4RAgSLDaQ+1As3G7yBH0e1xFdyQnrVakROzv97O?= =?us-ascii?Q?btFcU9mec0oFitKMVUt7XxbYzCMIW1+9aLwWmLI?= =?us-ascii?Q?fo=2FYThafCoPmOIomNmth3ToPWGNyu15OckpK5F6?= =?us-ascii?Q?QntgJUFgH32SK8Yi6Mt8EVXfdQnU3vzRZ3Q=3D=3D?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 94307 Subject: [ruby-core:94307] [Ruby master Misc#16094] Allow only "Rebase and merge" or "Squash and merge" on GitHub, and sync it on git.ruby-lang.org pre-receive hook X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #16094 has been updated by k0kubun (Takashi Kokubun). Status changed from Open to Assigned This is almost implemented. It's still under testing and only available for admin now, but you may see some usages for testing. I'll add one more guard and then enable "write" to merge pull requests for ruby-committers team. I also noticed that I cannot choose either "Rebase and merge" or "Squash and merge" as the default merge behavior. When enabling both, "Squash and merge" is made always default. So it's shown by default. Of course, "Create a merge commit" mode is disabled as we discussed [Misc #16093]. ---------------------------------------- Misc #16094: Allow only "Rebase and merge" or "Squash and merge" on GitHub, and sync it on git.ruby-lang.org pre-receive hook https://bugs.ruby-lang.org/issues/16094#change-80656 * Author: k0kubun (Takashi Kokubun) * Status: Assigned * Priority: Normal * Assignee: k0kubun (Takashi Kokubun) ---------------------------------------- ## Problem * Our pull request merge strategy confuses contributors, as described in [Misc #16093]. * In [Misc #16093], some committers did not like accepting a merge commit. ## Solution * Allow using GitHub's "Rebase and merge" (suggested by @marcandre) and "Squash and merge" (for editing a commit message as needed) to committers * Disable "Create a merge commit" in GitHub repository settings, to avoid concerns found in [Misc #16093]. * Also prohibit pushes to the master branch which are not coming from a pull request by requiring CI in GitHub repository settings. * To allow looking up an associated GitHub pull request from git commands, add `git notes` to "Rebase and merge"d commits in git.ruby-lang.org post-receive hook. (suggested by @nobu) * Perform GitHub bidirectional sync on git.ruby-lang.org pre-receive hook, and accept a push if it does not conflict with "Rebase and merge" on GitHub. ## Notes * Even after implementing this ticket, the Ruby's canonical Git repository will continue to be git.ruby-lang.org as is. * All committers must push non-pull-request commits to git.ruby-lang.org. Direct pushes to GitHub will continue to be disabled. * This approach has one drawback; `git push` to git.ruby-lang.org might block longer than now. -- https://bugs.ruby-lang.org/