On 26/05/2020 12:19, Jakub Jelinek via Gcc wrote: > On Tue, May 26, 2020 at 12:42:41PM +0200, Thomas Koenig wrote: >> Am 26.05.20 um 11:04 schrieb Thomas Koenig via Gcc: >>> Am 26.05.20 um 00:48 schrieb Jakub Jelinek via Gcc: >>> >>>> I've turned the strict mode of Martin Liška's hook changes, >>> >>> This means that it is no longer possible to do a git gcc-backport >> >> [CC'ing fortran to warn other people against currently trying >> backports] >> >> ... and now I've tried to revert the ChangeLog files manually, >> pulled again, tried to push again, and got >> >> remote: *** ChangeLog format failed: >> remote: ERR: ChangeLog, DATESTAMP, BASE-VER and DEV-PHASE updates should be >> done separately from normal commits >> remote: >> remote: Please see: https://gcc.gnu.org/codingconventions.html#ChangeLogs >> remote: >> remote: error: hook declined to update refs/heads/releases/gcc-10 >> To git+ssh://gcc.gnu.org/git/gcc.git >> ! [remote rejected] releases/gcc-10 -> releases/gcc-10 (hook >> declined) >> error: Fehler beim Versenden einiger Referenzen nach >> 'git+ssh://tkoe...@gcc.gnu.org/git/gcc.git' >> >> So, I am in the quite familiar situation of a somehow inconsistent >> state of git that I have no idea how to get out of. >> >> So, two questions: >> >> - How do I get my gcc-10 branch back into a consistent state? > > git reset --hard origin/releases/gcc-10 > should do it (if you want to throw all your local changes). > >> - How are backports supposed to be handled using the new scripts? > > When cherry-picking or otherwise backporting a change which changed the > ChangeLog files, one needs to remove the ChangeLog changes from that commit, > e.g. > git diff > /tmp/P > for i in `lsdiff /tmp/P | grep ChangeLog`; do filterdiff -i $i /tmp/P; done | > patch -p1 -R > git commit -a --amend > or > git checkout HEAD^ -- `git diff | lsdiff | sed -n -e > 's,^[ab]/\(.*/ChangeLog\)$,\1,p'` > git commit -a --amend > could do that. If it is cherry-pick of an even older commit that doesn't > have the > commit message with properly formatted ChangeLog entry the scripts will > understand, one needs to change the commit message too. > > Note, this obstackle will go away once you start backporting patches > committed today or later, as those will not have the ChangeLog changes and > will have properly formatted commit message. > > Jakub >
I haven't investigated in detail, but could we use a merge strategy with the cherry-pick to drop ChangeLog entries? R.