From: Aaron Cohen Date: Wed, 09 Dec 2009 04:41:01 GMT Subject: Re: [PATCH 0/3] Add a "fix" command to "rebase --interactive" Message-ID: <727e50150912082041l4c4c1b73s30b64be7369adc21@mail.gmail.com> In-Reply-To: <20091209125555.6117@nanako3.lavabit.com> On Tue, Dec 8, 2009 at 10:55 PM, Nanako Shiraishi wrote: > Quoting Sverre Rabbelier > >> Heya, >> >> On Tue, Dec 8, 2009 at 10:35, Jeff King wrote: >>> $ bash >>> $ echo "!fixup commit" >>> bash: !fixup: event not found >>> $ echo "fixup! commit" >>> fixup! commit >> >> Speaking of which, must we use that annoying bang? I hate how bash >> gets in my way when I try to write a commit message with a a bang in >> it, I'd much rather use a different character that is not in risk of >> being mistreated by my shell. (Although it seems that bash does do TRT >> in the 'fixup!' case.) >> >> -- >> Cheers, >> >> Sverre Rabbelier > > There was a strong objection (I think from Johanes) against not > using 'unusual' letters during the initial round back in June > 2009. Even when explicitly giving '--auto-squash' from the > command line, there can be commits with confusing titles > like "fixup the ancient bug in cat-file" in addition to > the ones you wanted to mark with the "fixup!" marker. > > -- I'm sorry to pipe in with my perhaps half-baked idea from lurkerdom, but would autosquash make more sense designed as a hook rather than as a special case behavior of git-rebase? I think this feature could be implemented by having git-rebase call a hook if supplied the --autosquash command. The hook script would be supplied with the id of the blobs being fixed up on standard input, and it could do whatever it wanted internally (including looking for magic !commands in the commit messages of the blobs). The result of the script should be the list of blobs to be commited as a result of the script's munging, on standard output.