> -----Original Message-----
> From: Thomas Schwinge <tschwi...@baylibre.com>
> Sent: Monday, July 28, 2025 11:05
> To: Robert Dubner <rdub...@symas.com>
> Cc: Richard Biener <rguent...@suse.de>; Andreas Schwab <sch...@suse.de>; 
> David
> Malcolm <dmalc...@redhat.com>; gcc@gcc.gnu.org; gcc-patc...@gcc.gnu.org; 
> James
> K. Lowden <jklow...@cobolworx.com>
> Subject: RE: GCC 15.1.1 Status Report (2025-07-11)
>
> Hi Bob!
>
> On 2025-07-27T16:00:29-0500, Robert Dubner <rdub...@symas.com> wrote:
> > I am throwing in the towel.
> >
> > I am chalking up the hours I have spent on this as a positive on the
> > educational side of the ledger.  I have learned things about
> > git-cherry-pick, git-rev-list, and git-log that I didn't know, and 
> > that's
> > good.
> >
> > I have reached the point where I am convinced that what I would like to 
> > do
> > is not just hard, but impractical.  I got to this point:
> >
> > git switch -C patched15 gcc/releases/gcc-15
> > git cherry-pick -x  \
> >     $(git rev-list basepoints/gcc-16..gcc/master \
> >     --invert-grep --grep="Daily bump" \
> >     -- libgcobol gcc/cobol gcc/testsuite/cobol.dg)
> >
> > That rev-list command produces a list of all the commits since The 
> > Beginning
> > Of GCC-16 that touch files in libgcobol/, gcc/cobol/ and
> > gcc/testsuite/cobol.dg, which is what I wanted.  But the result is 
> > numerous
> > conflicts.
>
> Hmm, I'm not seeing that?
>
> > I had to exclude the "Daily bump" commits because the ones that affect
> > gcc/cobol/ChangeLog or libgcobol/ChangeLog tend to modify many other
> > ChangeLogs as well, leading to conflicts.
>
> Right, those need to be excluded.
>
> > But even with that filter, numerous other conflicts arise.  Thirty-two 
> > of
> > them, as a matter of fact.  Exactly one of them is in a gcc/cobol cobol
> > file; the rest are in other source code trees.
> >
> > Many of those conflicts occurred because of wide-ranging commits that 
> > change
> > not just gcc/cobol files, but files in other source trees.  (I am 
> > looking at
> > you, David Malcolm; your changes to the diagnostics cut quite the swath
> > through the GCC source code.)
>
> Well, that happens.  :-) But: mass-refactoring to improve the overall
> code organization etc. certainly has a very high merit on its own, so
> that's OK to cause some "collateral damage".
>
> But then: those commits aren't applicable for GCC 15 backporting anyway,
> so just 'git cherry-pick --skip' those.
>
> I just executed (a variant of) what I had in my other email:
>
>     $ rev_start=origin/releases/gcc-15 # Will be different next time.
>     $ git log --reverse --stat -p --regexp-ignore-case --grep=cobol
> "$rev_start"..origin/trunk
>
> I 'git cherry-pick --skip'ed the (few, just two?) commits that had alread
> made it into releases/gcc-15 branch, and 'git cherry-pick --skip'ed the
> last few diagnostics-related ones, and: everything else of those
> GCC/Cobol commits 'git cherry-pick -x'ed without any conflicts.
>
> I'm happy to put that branch into my usual testing, and/or publish it for
> anyone to test, if you still see value in that.  (..., and unless you'd
> like to reproduce that yourself.)  ;-)
>
>
> Grüße
>  Thomas

I would like to know exactly what you did.  Did you create a list of commit 
hashes that you then attempted to cherry-pick, one at a time, so that you 
could evaluate each result and decide to skip it or not?


Reply via email to