A Method of Breaking Git
Stijn Tintel
stijn at linux-ipv6.be
Sat Oct 28 22:25:38 PDT 2023
On 24/10/2023 15:25, Christian Marangi wrote:
> On Tue, Oct 24, 2023 at 02:21:35PM +0200, Bjørn Mork wrote:
>> Christian Marangi <ansuelsmth at gmail.com> writes:
>>
>>> Anyway I have also found this [1]... if it does actually works, it might be
>>> THE solution to our specific problem. Wonder if someone can test it on a
>>> sample repository.
>>>
>>> [1] https://devblogs.microsoft.com/oldnewthing/20190919-00/?p=102904
>> Nice! Seems to work. Tried this in an almost uptodate OpenWrt main
>> branch:
>>
>> git checkout -b dup
>> git mv target/linux/ramips/mt7621/config-5.15 target/linux/ramips/mt7621/config-6.1
>> git commit -s -m 'create config-6.1 based on config-5.15'
>> git checkout HEAD~ target/linux/ramips/mt7621/config-5.15
>> git commit -s -m 'restore config-5.15'
>> git checkout -
>> git merge --no-ff dup
>>
>> and ended up with
>>
>> bjorn at canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 target/linux/ramips/mt7621/config-5.15
>> 6e91f43c99a7 (dup) restore config-5.15
>> 5a742b351365 create config-6.1 based on config-5.15
>> cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem offset patch
>> 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs
>> dc38199b96ee ramips/mt7621: disable the cpufreq driver
>>
>> bjorn at canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 target/linux/ramips/mt7621/config-6.1
>> 5a742b351365 create config-6.1 based on config-5.15
>> cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem offset patch
>> 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs
>> dc38199b96ee ramips/mt7621: disable the cpufreq driver
>> 958fdf36e35c generic: mt7530: backport support for the MT7988 built-in switch
>>
>>
>> Best solution so far
>>
> Yep only drawback is the additional commit and the merge commit but this
> might be the only case where we can accept a merge commit. Might be
> worth to document this in the wiki if we take a decision on this.
>
There's another big drawback: it breaks git bisect. In the example
above, if you end up on commit 5a742b351365, the target will try
building kernel 5.15, but there will be no config-5.15.
Stijn
More information about the openwrt-devel
mailing list