From: Sergey Organov Date: Tue, 08 Dec 2020 20:07:36 GMT Subject: Re: [PATCH 00/26] git-log: implement new --diff-merge options Message-ID: <87y2i8dptj.fsf@osv.gnss.ru> In-Reply-To: <20201101193330.24775-1-sorganov@gmail.com> Sergey Organov writes: [...] > The series also cleanup logic of handling of diff merges options and > fix an issue found in the original implementation where logically > mutually exclusive options -m/-c/--cc failed to actually override each > other. Working further on this, I've noticed very irregular interactions between -m/-c/--cc and --oneline: 1. --oneline disables -m output for 'git log', and leaves -m output enabled for 'git show': $ /usr/bin/git show -n1 -m --oneline 2e673356aef | wc -l 80 $ /usr/bin/git log -n1 -m --oneline 2e673356aef | wc -l 1 2. For 'git log', --oneline disables -m output, and leaves -c/--cc output enabled: $ /usr/bin/git log -n1 -m --oneline 2e673356aef | wc -l 1 $ /usr/bin/git log -n1 -c --oneline 2e673356aef | wc -l 16 $ /usr/bin/git log -n1 --cc --oneline 2e673356aef | wc -l 16 The question is: what's the right interaction between --oneline and -m/-c/--cc? I tend to think they should be independent, so that --oneline doesn't affect diff output, and then the only offender is -m. What do you think? $ /usr/bin/git --version git version 2.25.1 Thanks, -- Sergey Organov