diff options
author | Jeff King <peff@peff.net> | 2020-07-29 16:10:20 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-29 13:43:57 -0700 |
commit | 6fae74b418da05a80897487805c833fd0b253df3 (patch) | |
tree | 5e8167bcf4b3a876bcb615ee1ba36b0ef95ca84d /builtin/log.c | |
parent | log: drop "--cc implies -m" logic (diff) | |
download | tgif-6fae74b418da05a80897487805c833fd0b253df3.tar.xz |
revision: add "--no-diff-merges" option to counteract "-m"
The "-m" option sets revs->ignore_merges to "0", but there's no way to
undo it. This probably isn't something anybody overly cares about, since
"1" is already the default, but it will serve as an escape hatch when we
flip the default for ignore_merges to "0" in more situations.
We'll also add a few extra niceties:
- initialize the value to "-1" to indicate "not set", and then resolve
it to the normal 0/1 bool in setup_revisions(). This lets any tweak
functions, as well as setup_revisions() itself, avoid clobbering the
user's preference (which until now they couldn't actually express).
- since we now have --no-diff-merges, let's add the matching
--diff-merges, which is just a synonym for "-m". Then we don't even
need to document --no-diff-merges separately; it countermands the
long form of "-m" in the usual way.
The new test shows that this behaves just the same as the current
behavior without "-m".
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/log.c')
-rw-r--r-- | builtin/log.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/log.c b/builtin/log.c index 281d2ae8eb..39b3d773a9 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -599,8 +599,8 @@ static int show_tree_object(const struct object_id *oid, static void show_setup_revisions_tweak(struct rev_info *rev, struct setup_revision_opt *opt) { - if (rev->ignore_merges) { - /* There was no "-m" on the command line */ + if (rev->ignore_merges < 0) { + /* There was no "-m" variant on the command line */ rev->ignore_merges = 0; if (!rev->first_parent_only && !rev->combine_merges) { /* No "--first-parent", "-c", or "--cc" */ |