Merge branch 'so/log-diff-merge'
"git log" learned a new "--diff-merges=<how>" option. * so/log-diff-merge: (32 commits) t4013: add tests for --diff-merges=first-parent doc/git-show: include --diff-merges description doc/rev-list-options: document --first-parent changes merges format doc/diff-generate-patch: mention new --diff-merges option doc/git-log: describe new --diff-merges options diff-merges: add '--diff-merges=1' as synonym for 'first-parent' diff-merges: add old mnemonic counterparts to --diff-merges diff-merges: let new options enable diff without -p diff-merges: do not imply -p for new options diff-merges: implement new values for --diff-merges diff-merges: make -m/-c/--cc explicitly mutually exclusive diff-merges: refactor opt settings into separate functions diff-merges: get rid of now empty diff_merges_init_revs() diff-merges: group diff-merge flags next to each other inside 'rev_info' diff-merges: split 'ignore_merges' field diff-merges: fix -m to properly override -c/--cc t4013: add tests for -m failing to override -c/--cc t4013: support test_expect_failure through ':failure' magic diff-merges: revise revs->diff flag handling diff-merges: handle imply -p on -c/--cc logic for log.c ...
This commit is contained in:
@ -12,6 +12,7 @@
|
||||
#include "color.h"
|
||||
#include "commit.h"
|
||||
#include "diff.h"
|
||||
#include "diff-merges.h"
|
||||
#include "revision.h"
|
||||
#include "log-tree.h"
|
||||
#include "builtin.h"
|
||||
@ -607,15 +608,10 @@ 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 < 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" */
|
||||
rev->combine_merges = 1;
|
||||
rev->dense_combined_merges = 1;
|
||||
}
|
||||
}
|
||||
if (rev->first_parent_only)
|
||||
diff_merges_default_to_first_parent(rev);
|
||||
else
|
||||
diff_merges_default_to_dense_combined(rev);
|
||||
if (!rev->diffopt.output_format)
|
||||
rev->diffopt.output_format = DIFF_FORMAT_PATCH;
|
||||
}
|
||||
@ -736,12 +732,8 @@ static void log_setup_revisions_tweak(struct rev_info *rev,
|
||||
rev->prune_data.nr == 1)
|
||||
rev->diffopt.flags.follow_renames = 1;
|
||||
|
||||
/* Turn --cc/-c into -p --cc/-c when -p was not given */
|
||||
if (!rev->diffopt.output_format && rev->combine_merges)
|
||||
rev->diffopt.output_format = DIFF_FORMAT_PATCH;
|
||||
|
||||
if (rev->first_parent_only && rev->ignore_merges < 0)
|
||||
rev->ignore_merges = 0;
|
||||
if (rev->first_parent_only)
|
||||
diff_merges_default_to_first_parent(rev);
|
||||
}
|
||||
|
||||
int cmd_log(int argc, const char **argv, const char *prefix)
|
||||
|
||||
Reference in New Issue
Block a user