git magic or usage wisdom.

Ismael Luceno ismael at iodev.co.uk
Thu Aug 4 15:58:16 EDT 2022


On 04/Aug/2022 13:24, jim.cromie at gmail.com wrote:
> so I have this patchset (sent to lkml recently ),
> it adds a new struct:
> struct _ddebug_info
<...> 
> is there some git command magic to work this ?
> 
> in a pre-git world, I might try
> perl -pi -e 's/_ddebug_info/_ddebug_stateinfo/g' 00*.patch
> 
> that "might" work, but could also create a myriad of conflicts
> when the patchset is 'git am' d
> and it might apply clean but still break on compile ?
> 
> anyone care to opine on the probability of success ?
> 
> If I try this, I'll report back.
> ISTM more likely than my doing it manually.

The approach is fine :).

Whatever you do, you can't escape testing that the patches apply and
compile...

What you may simplify is the editing by chaining the commands to
replay changes into a new branch:

	git format-patch -k --stdout base..old-branch |
	  perl -pe '...' | git am -3 -k

Further automation seems counterproductive.

As for the editing, I would use the following perl code:

	if (/^\+/) { s/\b_ddebug_info\b/_ddebug_stateinfo/g }

That way you limit edits only to new content, and the struct name is
properly bounded by the regex.

I guess that's about as robust as you can make it without going out of
your way.



More information about the Kernelnewbies mailing list