From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Zach Pearson Newsgroups: gmane.emacs.devel Subject: Re: pull requests Date: Thu, 16 Apr 2020 23:24:56 -0500 Message-ID: <23160F4A-188A-4ADA-9EC4-B4C416CF7363@zjp.codes> Mime-Version: 1.0 (1.0) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="60535"; mail-complaints-to="usenet@ciao.gmane.io" To: Dmitry Gutov , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 17 06:33:09 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 1jPIgf-000Fcq-24 for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Apr 2020 06:33:09 +0200 Original-Received: from localhost ([::1]:42298 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPIge-0004Mb-4x for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Apr 2020 00:33:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50992) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPIg9-0003h4-NG for emacs-devel@gnu.org; Fri, 17 Apr 2020 00:32:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPIg7-00057x-TR for emacs-devel@gnu.org; Fri, 17 Apr 2020 00:32:37 -0400 Original-Received: from fwd1.porkbun.com ([52.10.174.57]:35854) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jPIg7-00057c-BD for emacs-devel@gnu.org; Fri, 17 Apr 2020 00:32:35 -0400 Original-Received: by fwd1.porkbun.com (Postfix, from userid 497) id 649EE4100D; Fri, 17 Apr 2020 04:25:02 +0000 (UTC) Original-Received: from [10.0.1.19] (24-124-122-162-dynamic.midco.net [24.124.122.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zach@zjp.codes) by fwd1.porkbun.com (Postfix) with ESMTPSA id 721AA40FE2; Fri, 17 Apr 2020 04:24:59 +0000 (UTC) X-Mailer: iPhone Mail (17D50) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 52.10.174.57 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:247146 Archived-At: I=E2=80=99m pretty sure GitHub will also let you open a pull request via the= command line if you want. Additionally, it emails PR threads to users that s= ubscribe to them (initially maintainers) =E2=80=94 so if you=E2=80=99ve got w= rite access and would strongly prefer to keep your email based workflow it i= s known that it=E2=80=99s possible to keep it.=20 > On Apr 16, 2020, at 10:55 PM, Dmitry Gutov wrote: >=20 > =EF=BB=BFHi Richard, >=20 > Sorry for the late reply. I'll try to make a good description. >=20 >>>> 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. >=20 > AFAIK, there are basically two different things that are called a "pull re= quest". >=20 > The first is basically an email with details about the repository and the b= ranch you want code "pulled" from. There are more details here: https://www.= kernel.org/doc/html/latest/maintainer/pull-requests.html, but this is largel= y 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. >=20 > The second one (which is what we're considering) has been popularized by t= he 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 r= epository that belongs to the user's account (and its URL has the user's use= rname in it). The said user can create a new branch, push some changesets in= to it, and then propose the said branch to the original repository and its d= evelopers for merging. By creating a "pull request". >=20 > It's a "thing": Github, as well as similar forges such as Gitlab, have a d= edicated type of issue (*) that's called a "pull request". It has all the fe= atures 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 as= sociated 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 bran= ch closely, so as soon as the user pushes some new changes to the branch, th= e information in the PR updates automatically. The PR web page can show the s= tatus of the CI build for the proposed branch. The main repository's maintai= ners can merge the PR with just a couple of clicks with the mouse (this work= s best with small contributions). There are other features. >=20 > Overall, a lot of developers are used to this workflow and would never cho= ose patch submission over email. Of course, not everybody. Some people just d= on't like web interfaces, for example. >=20 > (*) Issues are basically bug reports, but people can use them for discussi= ons, support questions, and so on.