Merge branch 'so/log-diff-merge'

"git log" learned "--diff-merges=<style>" option, with an
associated configuration variable log.diffMerges.

* so/log-diff-merge:
  doc/diff-options: document new --diff-merges features
  diff-merges: introduce log.diffMerges config variable
  diff-merges: adapt -m to enable default diff format
  diff-merges: refactor set_diff_merges()
  diff-merges: introduce --diff-merges=on
This commit is contained in:
Junio C Hamano
2021-04-30 13:50:26 +09:00
7 changed files with 96 additions and 22 deletions

View File

@ -452,6 +452,37 @@ diff-tree --stat --compact-summary initial mode
diff-tree -R --stat --compact-summary initial mode
EOF
test_expect_success 'log --diff-merges=on matches --diff-merges=separate' '
git log -p --diff-merges=separate master >result &&
process_diffs result >expected &&
git log -p --diff-merges=on master >result &&
process_diffs result >actual &&
test_cmp expected actual
'
test_expect_success 'deny wrong log.diffMerges config' '
test_config log.diffMerges wrong-value &&
test_expect_code 128 git log
'
test_expect_success 'git config log.diffMerges first-parent' '
git log -p --diff-merges=first-parent master >result &&
process_diffs result >expected &&
test_config log.diffMerges first-parent &&
git log -p --diff-merges=on master >result &&
process_diffs result >actual &&
test_cmp expected actual
'
test_expect_success 'git config log.diffMerges first-parent vs -m' '
git log -p --diff-merges=first-parent master >result &&
process_diffs result >expected &&
test_config log.diffMerges first-parent &&
git log -p -m master >result &&
process_diffs result >actual &&
test_cmp expected actual
'
test_expect_success 'log -S requires an argument' '
test_must_fail git log -S
'

View File

@ -2306,6 +2306,7 @@ test_expect_success 'git config - variable name' '
test_completion "git config log.d" <<-\EOF
log.date Z
log.decorate Z
log.diffMerges Z
EOF
'
@ -2327,6 +2328,7 @@ test_expect_success 'git -c - variable name' '
test_completion "git -c log.d" <<-\EOF
log.date=Z
log.decorate=Z
log.diffMerges=Z
EOF
'
@ -2348,6 +2350,7 @@ test_expect_success 'git clone --config= - variable name' '
test_completion "git clone --config=log.d" <<-\EOF
log.date=Z
log.decorate=Z
log.diffMerges=Z
EOF
'