Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp3426642ioo; Mon, 30 May 2022 01:38:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyTWqwitY6HwR4Qx7N9a2negmfvRtqIm+R+DXeW1ziN/5FgrUqaT9ZwrR6W0D3t7n2YaJN3 X-Received: by 2002:a05:6402:440d:b0:412:9e8a:5e51 with SMTP id y13-20020a056402440d00b004129e8a5e51mr56320030eda.362.1653899890595; Mon, 30 May 2022 01:38:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653899890; cv=none; d=google.com; s=arc-20160816; b=wHlLADDCqkFQc1numMFXAYXsMYVcty2Xnnvczw6NjM/ke4fC1BrNoJITKe/TvgUGj5 PWf1JUdOLtQQ0sUSJGHLmkHf2tfR1Clevbewb0WIJ0nVAMGOQe/7pwMRIeIANVNxXW1i IpAmBRdaWYEeLu6ZobUiGaBoLZXUfWpfm5WYrtMpGD7czEmXojh6mVJmCwg1PcCqIHz6 /9/Efld4ydI0WpZGsQQJCrWzg2QyZH2qb2mPPQYzMwuWVXlbn6sIMPNaU2EpJ4VbNEjM og+2FBybuEz9iY/k5jGA8Wp7VpZw9HXJgSAUm7xoKdBlUPt4GpvbvMs3NvVIeARzq7CF Geig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=snx9GGKb5+7Av76UE+Qg4S2F6zhBa2JWsZV2vZPlT4o=; b=jaF9NHQSKiSNQGODX7s5uuVnnqwj9FQi+/8kfxHgbwhH/XUd/7yWGdrM1ZTQYc9fT+ gnd8o3apOiDE/bdWn4vNv0lKuXTqcO5RW7pMblb/31wW3QmJG4whkqcOqdYrhn4vsSFE ny5iSDGfH80+U8GTubRQJFjsMVUniB3bpw2bABmco13KG3a6cHrSfZbwdJV3SsYRdwrU +KagKE4FyZco6BhbCpeMSl1SSqr8nRE+/qaWNSgJuHTZ51flkk0JbevFYbR8JplZXOoz B3ADmOOsKAImwfWzNN7zfmPV3F0rrM3KiCtR3DMfiPIJ4QDKhEf4ko4fn3cHnU2UuBOf 4pog== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gl1-20020a1709073c8100b006feb4205ecdsi5554177ejc.742.2022.05.30.01.37.38; Mon, 30 May 2022 01:38:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231883AbiE2Xgj (ORCPT + 99 others); Sun, 29 May 2022 19:36:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230131AbiE2Xgh (ORCPT ); Sun, 29 May 2022 19:36:37 -0400 Received: from mail104.syd.optusnet.com.au (mail104.syd.optusnet.com.au [211.29.132.246]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B55DB630A; Sun, 29 May 2022 16:36:34 -0700 (PDT) Received: from dread.disaster.area (pa49-181-2-147.pa.nsw.optusnet.com.au [49.181.2.147]) by mail104.syd.optusnet.com.au (Postfix) with ESMTPS id 4C2A953458E; Mon, 30 May 2022 09:36:31 +1000 (AEST) Received: from dave by dread.disaster.area with local (Exim 4.92.3) (envelope-from ) id 1nvSST-000OUT-Eu; Mon, 30 May 2022 09:36:29 +1000 Date: Mon, 30 May 2022 09:36:29 +1000 From: Dave Chinner To: Amir Goldstein Cc: Linus Torvalds , linux-xfs , Linux Kernel Mailing List , Eric Sandeen , "Darrick J. Wong" , Konstantin Ryabitsev Subject: Re: [GIT PULL] xfs: new code for 5.19 Message-ID: <20220529233629.GY1098723@dread.disaster.area> References: <20220526022053.GY2306852@dread.disaster.area> <20220526035317.GI1098723@dread.disaster.area> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.4 cv=VuxAv86n c=1 sm=1 tr=0 ts=62940380 a=ivVLWpVy4j68lT4lJFbQgw==:117 a=ivVLWpVy4j68lT4lJFbQgw==:17 a=kj9zAlcOel0A:10 a=oZkIemNP1mAA:10 a=yPCof4ZbAAAA:8 a=VwQbUJbxAAAA:8 a=7-415B0cAAAA:8 a=wNBJl4j-QUBApV6RE_4A:9 a=CjuIK1q_8ugA:10 a=AjGcO6oz07-iQ99wixmX:22 a=biEYGPWJfzWAr4FL6Ov7:22 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_PASS,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 29, 2022 at 10:32:58AM +0300, Amir Goldstein wrote: > > > I might wish that your merge commit messages were a bit more > > > consistent about the merge details ("why and what"), but you are most > > > definitely not the only one with that, and a number of them are quite > > > nice (ie the merge of the large extent counters has a nice informative > > > commit message, as does the rmap speedup one). > > > > Those one came from pull requests with informative signed > > tags. We're trying to move more of our development processes to > > using signed pull reqs when eveything is done, so this hopefully > > will happen more often. > > > > > And then some of them are the uninformative one-lines that just say > > > "Merge branch X" > > > > Yeah, those are merges from local topic branches where I pulled in > > individual patches or entire series from the mailing list via 'b4 am > > -o - | git am -s'. AFAICT there is no way to have this > > retain the patch series cover letter, which generally contains what > > I would want to be putting into the merge commit message. > > > > I'll keep that in mind for future composes, though I do wish there > > was an easy way to just have b4/git manage cover letters as part of > > the topic branch so they can feed into local merge commits just as > > easily remote pulls do.... > > > > There is. > I have been hacking on b4 and found many hidden features :) > > b4 am 20220510202800.40339-1-catherine.hoang@oracle.com -n > xfs-5.19-quota-warn-remove.mbx > git am -s xfs-5.19-quota-warn-remove.mbx > git tag -F xfs-5.19-quota-warn-remove.cover xfs-5.19-quota-warn-remove That's a tag on a commit, not a persistent object associated with a branch. I've considered this, but if I append a new commit, rebase the branch, or do anything I normally do with topic branches, then that tag ends up pointing at the wrong commit or even a non-existent commit. It just adds another thing to forget/get wrong when managing topic branches for merge. i.e. it doesn't make things simpler. As it is, I use guilt for managing the contents of all my git branches in all my git trees. I already have a local hack in guilt to use the first commit of a series as the series description/cover letter. I pass a special flag to 'guilt patchbomb' and it turns the first commit into the cover letter for editing and sending. With this, I have an object associated with the topic branch that follows all operations on the branch (including rebases) and so is always there in the same place. However, I can't use such topic branches for merges - the series description commit needs to be purged and the series rebased before I merge it. You can see this in this old branch here: https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git/log/?h=xfs-iunlink-item In that branch there are actually two description commits: https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git/commit/?h=xfs-iunlink-item&id=35d3b6ac52b5870484182d476cb253021e44acc5 https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git/commit/?h=xfs-iunlink-item&id=a561cb0e09fa7886d034be0ae94f5f77d327014d because the second line of development (unlinked inode mods) was dependent on another set of patches (async inode reclaim). That's the text and changelog for the cover letter for that specific line of development. As a "here's a topic branch with all the changes in it" push, I didn't sanitise them. I think what I'm going to end up doing is add a 'guilt am' command that runs b4, extracts the cover letter as an internal guilt file (in .git/patches//series-description) and add a `guilt series -d [-e]` command to print or edit it directly. Then that file exists, guilt patchbomb will just pick it up. If I add a `guilt merge` wrapper then it will get picked up as the merge description automatically, too... This way the cover letter follows the topic branch no matter what I do with the branch once I've downloaded it from the mailing list, and it doesn't show up in the commit history and hence I can merge the branches easily. -Dave. -- Dave Chinner david@fromorbit.com