From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: pull requests Date: Fri, 17 Apr 2020 06:54:50 +0300 Message-ID: <231ee736-e669-540b-123f-70aa98d3f9bb@yandex.ru> References: <87369yc79r.fsf@dick> <83mu828c7d.fsf@gnu.org> <7b0e82fd-8928-26d2-4bed-331593685f36@gmail.com> <83h7ya7wne.fsf@gnu.org> <8b7d5a28-8193-cd12-bb47-b70c7eee6db5@gmail.com> <83eetd962o.fsf@gnu.org> <281f88c3-ea09-3486-5532-5084881bf38b@yandex.ru> <4ceaa8ac-9a19-d874-51d6-8056bcb46b2c@yandex.ru> <5A67FEE6-0B25-4D4E-BADA-8653682F7565@gnu.org> <83a73y3s18.fsf@gnu.org> <831rpa3p9w.fsf@gnu.org> <83wo713ldv.fsf@gnu.org> <9aa9383c-9706-8250-eccd-7cacc298e8af@yandex.ru> <83r1x93ju1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="44225"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 Cc: cpitclaudel@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: rms@gnu.org, Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 17 05:55:41 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jPI6O-000BOe-Uo for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Apr 2020 05:55:41 +0200 Original-Received: from localhost ([::1]:42002 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPI6O-0002cT-1Q for ged-emacs-devel@m.gmane-mx.org; Thu, 16 Apr 2020 23:55:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47721) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPI5g-0001wr-MW for emacs-devel@gnu.org; Thu, 16 Apr 2020 23:54:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPI5f-0004kU-JQ for emacs-devel@gnu.org; Thu, 16 Apr 2020 23:54:56 -0400 Original-Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:37744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jPI5f-0004jY-BK; Thu, 16 Apr 2020 23:54:55 -0400 Original-Received: by mail-wr1-x42f.google.com with SMTP id k1so1433734wrx.4; Thu, 16 Apr 2020 20:54:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=hYk5JZvuKqDxdh7MxfDwKe5fj0D2W46dDkFOkzZU2KU=; b=MUHAKFQVe+ewQHG68qFCd7eCcJObqbxPXVVAkwrV13NDKoy/SNw6cocYzUa3G16ZeN ZSyJ4/W7x4SyoA89hkgjPJblTkEzmryK76Wpoy9XqjxZPLddn9pp2qeD1lZmmzEfEuH0 SXkWI/s8aTOTFkf+04gQY6I+ejM8xozyQGmLltuwWlJxMTUXRj0E4d0QCKodtC0kOAoX 73NsmpeHbRoRv2iQWany6v2zxecriBd7WtLVjRpdmJt0xjgIcNaJjsWuUuRzUebZKf8O M18oMyhgWS7DGbXKhEcZ3sEPkKVGIqyNRSYf5sOnfFN5pJKAuvxna4sP5R4YZT5svRMP dz/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=hYk5JZvuKqDxdh7MxfDwKe5fj0D2W46dDkFOkzZU2KU=; b=KchThMAbQOGnNbEMR9yNJ7ZkQZf6nMHAFWen3g4VwUH+KyP5W5XxNwH9IbT7F3Or5S FRmO2mrTgGrOxtcAadewjFfXLSresB/nO/+tmSZBGbmOK3K4ewASTWTTolLDj8Dw6q+n Dh1JyK41js88t8QjvxV8JPRcg8BWZq/86YaeyeL64BnRuQUgTBTNm2IdqKnH4BRELFXf B0VOZwhOezRSUqWE+rLpVqGNzIrCL+5AwNvtH+TR6DuigOUqpugA3aCYpvfGR8pX86F4 4tv4esoKeH5Dy584LluJdPz5xJ7yAJr8w7ZKSflS4hnn/5HeygVDe+pFSknAJjDaNuhm anSA== X-Gm-Message-State: AGi0PuZT2bexgNm1OZB14lhlqJ3WaG2pgfXfpCr2nwfLGsCq5WKqoHlZ 1OQ1yv/yfBwZHWL3wSD+Cps= X-Google-Smtp-Source: APiQypJCHzXj6deOOli43/MpqNKgtUCjATA+kUTMsKWMBl9e4O7RxaQMcMjixQA94COrZQE3yBHGMQ== X-Received: by 2002:adf:ea05:: with SMTP id q5mr1764260wrm.180.1587095693598; Thu, 16 Apr 2020 20:54:53 -0700 (PDT) Original-Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id z16sm32118054wrl.0.2020.04.16.20.54.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Apr 2020 20:54:51 -0700 (PDT) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42f X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:247145 Archived-At: Hi Richard, Sorry for the late reply. I'll try to make a good description. On 02.04.2020 05:39, Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I have never seen what a pull request is like to use. I do not use > the systems which support them. In trying to think about their > implications, I have to go by the descriptions people have sent me > in this discussion. > > Unfortunately, the descriptions I've reaceived seen to conflict. > Perhaps people were describing different ways that different projects > or different platforms handle pull requests, but I did not know that > when I read them. AFAIK, there are basically two different things that are called a "pull request". The first is basically an email with details about the repository and the branch you want code "pulled" from. There are more details here: https://www.kernel.org/doc/html/latest/maintainer/pull-requests.html, but this is largely irrelevant to this discussion because a) we can do this already (and don't need any help with that), b) our developers and contributors don't use this approach. So it's not what we've been discussing. The second one (which is what we're considering) has been popularized by the proprietary code forge called GitHub. In there, users can make 'forks' of the original repository, where a fork is basically a copy of the original repository that belongs to the user's account (and its URL has the user's username in it). The said user can create a new branch, push some changesets into it, and then propose the said branch to the original repository and its developers for merging. By creating a "pull request". It's a "thing": Github, as well as similar forges such as Gitlab, have a dedicated type of issue (*) that's called a "pull request". It has all the features of an "issue" (which generally means people can leave comments in it), as well as extra features: it shows the author, the source branch, a multi-line description that the author usually has to fill, the proposed commits, it can show the combined diff of those commits, users can leave comments associated with individual lines of that diff (and the UI displays that neatly), they can lead threaded discussions on said commits (which get semi-hidden as soon as the related code has changed), and the PR tracks the source branch closely, so as soon as the user pushes some new changes to the branch, the information in the PR updates automatically. The PR web page can show the status of the CI build for the proposed branch. The main repository's maintainers can merge the PR with just a couple of clicks with the mouse (this works best with small contributions). There are other features. Overall, a lot of developers are used to this workflow and would never choose patch submission over email. Of course, not everybody. Some people just don't like web interfaces, for example. (*) Issues are basically bug reports, but people can use them for discussions, support questions, and so on.