On Tue, Jul 28, 2020 at 12:36:17PM -0400, Jeff King wrote: > For some projects, it's useful to walk the first parent history, looking > at each merge commit as a normal commit introducing all of the changes > no its side branch. E.g.: > > git log --first-parent -m -Sfoo -p > > might show you the topic or pull request that introduced code "foo". But > I quite often forget to add "-m", and get confused that it doesn't > return any results. > > This series just makes --first-parent imply -m. That doesn't change any > output by itself, but does mean that diff options like "-p", "-S", etc, > behave sensibly. > > [1/3]: log: drop "--cc implies -m" logic > [2/3]: revision: add "--ignore-merges" option to counteract "-m" > [3/3]: log: enable "-m" automatically with "--first-parent" > > Documentation/rev-list-options.txt | 1 + > builtin/log.c | 7 +- > revision.c | 10 ++- > revision.h | 2 +- > t/t4013-diff-various.sh | 1 + > ...g_--ignore-merges_-p_--first-parent_master | 78 +++++++++++++++++++ > t/t4013/diff.log_-p_--first-parent_master | 22 ++++++ > 7 files changed, 113 insertions(+), 8 deletions(-) > create mode 100644 t/t4013/diff.log_--ignore-merges_-p_--first-parent_master > > -Peff Very handy to have. The first patch looks good and could be taken independently. The other two patches look fine to me, too, and it's behavior that at least I would want. So, the whole series can have my: Reviewed-by: Taylor Blau <me@xxxxxxxxxxxx> Thanks, Taylor