Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119145 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 6598 invoked from network); 14 Dec 2022 21:04:29 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 14 Dec 2022 21:04:29 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3A7E6180503 for ; Wed, 14 Dec 2022 13:04:29 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS24940 176.9.0.0/16 X-Spam-Virus: No X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 14 Dec 2022 13:04:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1671051868; bh=TOEzRUc7iZ6Rqj8sgvoc2LNWdWEittRWG2m9DS2IoBc=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From; b=RMW3Kf2dM8DERO88n4/oCSktjObKWN979NRxfJD7auGDW+4x3I+AawTT9b0/M9CAB jdnN5LLZclzoHRp8I1Y9uXJ09vuBfm6f04Il8HgYwyo+MZW05PazKyeJM3I8vsgyh6 R4W8Fs6RPmbJvFMMTzHIoEGpGhO6aI8FSqGrQ/nHHUMvNzye9rz7+TU1niIXy96Hvi 4dWAjZt9WREvtKDIgyVfvm1EKcsePn5/eiGLzUGTRBhUCfCFL85d4WFQah3eBoqZ+U wZcrR9JB4+bxcxuPrlh7kw2x3DFh/YF77dZCLFlXRVKkvcU1VqSnfKAE3RFeKaPdsx Z+W2VzhiTSF2w== Content-Type: multipart/mixed; boundary="------------IX0HibI6i7vEaU39BadaWsiO" Message-ID: Date: Wed, 14 Dec 2022 22:04:27 +0100 MIME-Version: 1.0 To: Sara Golemon Cc: =?UTF-8?B?TWljaGFlbCBWb8WZw63FoWVrIC0gxIxWVVQgRkpGSQ==?= , internals@lists.php.net References: <4c1e58ca94c3069b8704b7068254fe3926c5ad17ab62bf88bfed79de0c62bd10@mahalux.com> Content-Language: en-US In-Reply-To: Subject: Re: [PHP-DEV] Remove PHP-x.y.* git branches From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=c3=bcsterhus?=) --------------IX0HibI6i7vEaU39BadaWsiO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi [Resending with better compressed attachment, because 30k limit] first off: I don't care particularly strongly about this matter. I would be in favor of cleaning out the old branches, but I'm also not in a position to tell others how to do their job. On 12/14/22 21:04, Sara Golemon wrote: > On Tue, Dec 13, 2022 at 12:03 PM Tim Düsterhus wrote: >> One benefit of removing those branches would be, that usability of >> GitHub's branch selector improves, specifically the branch selector when >> creating a new PR. >> > > Maybe this is my CLI privilege talking, but who's using pulldowns to select I do :-) At $dayjob I also use the 'gh' CLI client, but for contributions to repositories that are less well-known to me or where I do a once-off contribution, I prefer the web interface. It makes it easier for me to double check all the contributing guidelines and to fill in the PR template properly. Especially when I'm cross-referencing some other resources I tend to have the browser open and copying links between browser and terminal is "less than great". > PR branches? Sepcifically, IME we tend to get PRs against the `master` > branch. The majority of PRs likely target master, but there's also a non-insignificant number of bug fixes that need to go into one of the earlier branches. > (slightly more than 50% of the time). Sure, that's just a couple of > version specific branches instead of hundreds, and that point is well > taken, but my counterpoint is that we will have working branches. Exactly, it would just be 'master', 'PHP-8.2', 'PHP-8.1', 'PHP-8.0' and then 3 additional branches for 'PHP-8.x.y' that actually provide value, because they are actively used for the next release. > 2/ I'm not convinced this is a confusing scheme. While php-src doesn't I don't believe anyone considers them to be *confusing*, as you said, the naming and purpose is clear and well-documented. However from my experience branches in git are generally considered to be a thing that actively worked on (and often they are short-lived), whereas tags are for stuff that is worth preserving, but not something you interact with actively and this really shows in both git's and GitHub's UI. GitHub's branch selector I mentioned before is one thing, but 'git branch' is also affected. My local php-src copy has 'origin' pointing to my fork and 'upstream' pointing to php/php-src, allowing me to easily update from the upstream repository (e.g. git fetch upstream PHP-8.2:PHP-8.2 PHP-8.1:PHP-8.1 PHP-8.0:PHP-8.0) and to push to my fork. Now when I want to check my branches, including the branches of my remotes (i.e. git branch -a), git will also shove all the release branches in 'upstream' in my face. The same is true when running 'gitk --all' to easily visualize how my local branches compare to the state in my fork on GitHub and the state in php/php-src: It will list all the release branches in addition to the actual tags, doubling the number of labels shown. I'm specifically interested in the state of actual long-lived branches of upstream, so can't just filter out everything in upstream/'. Example screenshot attached: The branches (green) are pretty distracting there, because my brain is wired to consider branches to be something of interest based on other repositories I work with. > > Given #2, I don't see a significant benefit, given #1 I see that benefit > being naturally mitigated, and I don't see removing data from our repo as > being valuable. There's no real data loss, because the release tags are still available and they are a strict superset of the release branches. Once the release is out, the branches served their purpose and are never going to be used again and those branches do not interact nicely with git's interfaces (see above). Best regards Tim Düsterhus --------------IX0HibI6i7vEaU39BadaWsiO--