From: Konstantin Tokarev Date: Thu, 12 Mar 2020 16:21:49 GMT Subject: Re: [Feature request] "Hooks" for git log Message-ID: <628991584029077@iva6-9bda19f40fc4.qloud-c.yandex.net> In-Reply-To: <558831584024173@sas1-438a02fc058e.qloud-c.yandex.net> 12.03.2020, 18:06, "Konstantin Tokarev" : > Hello, > > While it's possible to filter commits in `git log` by their contents with > --grep and -S options, it's not always possible for formulate desirable > filter in their terms. > > I think it would be very useful if git log provided new option named e.g. > --hook or --script, which would take script path as an argument. > git log would follow it's normal way of operation, applying other filtering > options it was given, however intstead of printing info on commit that > matches filters, it invokes script with commit hash as an argument. > Script can do whatever it needs with hash, including any git operations, > can print commit info to log if needed, or print something else, or keep > silence. If script returns non-zero, parent git log command terminates, > otherwise it continues. On the second thought, its user interface should probably be more like `git submodule foreach` to allow use of one-liners. For example, there is a bug which I've recently reported that prevents use of git log --follow --full-diff It could have been worked around easily as git log --follow foreach git show $1 (syntax may be different) -- Regards, Konstantin