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.

Reply via email to