threads / discuss / 37818

Editing git changelog automatically

Subject: Editing git changelog automatically

## tl;dr

6 messages between Oct 27, 2014 and Oct 30, 2014.

replies: 5people: 4as markdown or json

Cong Wang· Oct 27, 2014, 05:27 UTC · lore
Hello, git experts

Sorry if this is a question already answered, but google search didn't give me anything useful.

My question is how to edit dozens of git commit changelogs automatically?

Let's say I want to fix a stupid typo in all of these commits, as simply as s/foo/bar/. Usually I use`git rebase -i` and `git commit --amend`, but both of them are interactive, apparently I don't want to edit them one by one. :)

I know I can change $EDITOR to something like `sed -e 's/foo/bar/'`, but this seems pretty ugly. Is there a clean way to do that?

Thanks!
Dennis Kaarsemaker· Oct 27, 2014, 06:05 UTC · re: Cong Wang · lore

Re: Editing git changelog automatically

On zo, 2014-10-26 at 22:27 -0700, Cong Wang wrote:
> 
> My question is how to edit dozens of git commit changelogs
> automatically?
You can use git filter-branch in --msg-filter mode.
-- 
Dennis Kaarsemaker
www.kaarsemaker.net
Matthieu Moy· Oct 27, 2014, 08:33 UTC · re: Dennis Kaarsemaker · lore

Re: Editing git changelog automatically

Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
Show 6 quoted lines
> On zo, 2014-10-26 at 22:27 -0700, Cong Wang wrote:
>> 
>> My question is how to edit dozens of git commit changelogs
>> automatically?
>
> You can use git filter-branch in --msg-filter mode.

Note that in any case, you'll rewrite the history hence change commit identifiers. If the history is already published, it's probably better to live with the typo than to try to fix it now.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Cong Wang· Oct 30, 2014, 06:14 UTC · re: Matthieu Moy · lore

Re: Editing git changelog automatically

On Mon, Oct 27, 2014 at 1:33 AM, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:

Show 12 quoted lines
> Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
>
>> On zo, 2014-10-26 at 22:27 -0700, Cong Wang wrote:
>>>
>>> My question is how to edit dozens of git commit changelogs
>>> automatically?
>>
>> You can use git filter-branch in --msg-filter mode.
>
> Note that in any case, you'll rewrite the history hence change commit
> identifiers. If the history is already published, it's probably better
> to live with the typo than to try to fix it now.
I am aware of that, it is my local branch, so no worry.
Thanks.
Cong Wang· Oct 30, 2014, 06:13 UTC · re: Dennis Kaarsemaker · lore

Re: Editing git changelog automatically

On Sun, Oct 26, 2014 at 11:05 PM, Dennis Kaarsemaker <dennis@kaarsemaker.net> wrote:

Show 6 quoted lines
> On zo, 2014-10-26 at 22:27 -0700, Cong Wang wrote:
>>
>> My question is how to edit dozens of git commit changelogs
>> automatically?
>
> You can use git filter-branch in --msg-filter mode.
This is exactly what I am looking for. Good to know this git command.
Thanks!
Andreas Schwab· Oct 27, 2014, 18:58 UTC · re: Cong Wang · lore

Re: Editing git changelog automatically

Cong Wang <xiyou.wangcong@gmail.com> writes:
> Let's say I want to fix a stupid typo in all of these commits, as
> simply as s/foo/bar/. Usually I use`git rebase -i` and `git commit
> --amend`, but both of them are interactive, apparently I don't want to
> edit them one by one. :)
Both can be scripted, though.
> I know I can change $EDITOR to something like `sed -e 's/foo/bar/'`,
> but this seems pretty ugly. Is there a clean way to do that?

I don't see the ugliness. There is no requirement that $EDITOR is interactive.

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

← back to recent threads