git/builtin
Martin Ågren ac0edf1f46 range-diff: always pass at least minimal diff options
Commit d8981c3f88 ("format-patch: do not let its diff-options affect
--range-diff", 2018-11-30) taught `show_range_diff()` to accept a
NULL-pointer as an indication that it should use its own "reasonable
default". That fixed a regression from a5170794 ("Merge branch
'ab/range-diff-no-patch'", 2018-11-18), but unfortunately it introduced
a regression of its own.

In particular, it means we forget the `file` member of the diff options,
so rather than placing a range-diff in the cover-letter, we write it to
stdout. In order to fix this, rewrite the two callers adjusted by
d8981c3f88 to instead create a "dummy" set of diff options where they
only fill in the fields we absolutely require, such as output file and
color.

Modify and extend the existing tests to try and verify that the right
contents end up in the right place.

Don't revert `show_range_diff()`, i.e., let it keep accepting NULL.
Rather than removing what is dead code and figuring out it isn't
actually dead and we've broken 2.20, just leave it for now.

[es: retain diff coloring when going to stdout]

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-12-04 10:36:14 +09:00
..
add.c add: speed up cmd_add() by utilizing read_cache_preload() 2018-11-03 00:43:04 +09:00
am.c Merge branch 'jk/unused-parameter-fixes' 2018-11-18 18:23:53 +09:00
annotate.c
apply.c apply.c: make init_apply_state() take a struct repository 2018-08-13 14:14:44 -07:00
archive.c archive: initialize archivers earlier 2018-10-26 10:17:59 +09:00
bisect--helper.c
blame.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
branch.c Merge branch 'tq/branch-style-fix' 2018-10-30 15:43:43 +09:00
bundle.c
cat-file.c Merge branch 'tb/print-size-t-with-uintmax-format' 2018-11-19 16:24:41 +09:00
check-attr.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
checkout.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
clean.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
clone.c Merge branch 'nd/clone-case-smashing-warning' 2018-09-17 13:53:47 -07:00
column.c
commit-graph.c Merge branch 'ds/commit-graph-leakfix' 2018-10-19 13:34:07 +09:00
commit-tree.c
commit.c Merge branch 'jk/unused-parameter-fixes' 2018-11-18 18:23:53 +09:00
config.c worktree: add per-worktree config files 2018-10-22 13:17:04 +09:00
count-objects.c treewide: use get_all_packs 2018-08-20 15:31:40 -07:00
credential.c
describe.c refresh_index: remove unnecessary calls to preload_index() 2018-11-06 12:49:59 +09:00
diff-files.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
diff-index.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
diff-tree.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
diff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
difftool.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
fast-export.c Upcast size_t variables to uintmax_t when printing 2018-11-12 16:43:52 +09:00
fetch-pack.c builtin/fetch-pack: remove constants with parse_oid_hex 2018-10-15 12:53:15 +09:00
fetch.c Merge branch 'jk/unused-parameter-fixes' 2018-11-18 18:23:53 +09:00
fmt-merge-msg.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
for-each-ref.c
fsck.c Merge branch 'nd/per-worktree-ref-iteration' 2018-11-13 22:37:26 +09:00
gc.c Merge branch 'jn/gc-auto' 2018-10-16 16:16:02 +09:00
get-tar-commit-id.c
grep.c Merge branch 'jk/unused-parameter-fixes' 2018-11-18 18:23:53 +09:00
hash-object.c sha1-file.c: remove implicit dependency on the_index 2018-09-21 09:48:11 -07:00
help.c Merge branch 'rv/alias-help' 2018-10-26 14:22:13 +09:00
index-pack.c Merge branch 'tb/print-size-t-with-uintmax-format' 2018-11-19 16:24:41 +09:00
init-db.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
interpret-trailers.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
log.c range-diff: always pass at least minimal diff options 2018-12-04 10:36:14 +09:00
ls-files.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
ls-remote.c Merge branch 'jk/proto-v2-ref-prefix-fix' 2018-11-13 22:37:17 +09:00
ls-tree.c Upcast size_t variables to uintmax_t when printing 2018-11-12 16:43:52 +09:00
mailinfo.c
mailsplit.c
merge-base.c Merge branch 'pk/rebase-in-c-4-opts' 2018-11-02 11:04:55 +09:00
merge-file.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
merge-index.c
merge-ours.c
merge-recursive.c
merge-tree.c Merge branch 'jk/xdiff-interface' 2018-11-13 22:37:27 +09:00
merge.c Merge branch 'jk/verify-sig-merge-into-void' 2018-11-18 18:23:54 +09:00
mktag.c
mktree.c builtin/mktree: remove hard-coded constant 2018-10-15 12:53:15 +09:00
multi-pack-index.c multi-pack-index: add 'verify' verb 2018-09-17 13:49:38 -07:00
mv.c
name-rev.c
notes.c Merge branch 'cb/notes-freeing-always-null-fix' 2018-11-18 18:23:57 +09:00
pack-objects.c Merge branch 'cc/delta-islands' 2018-11-21 20:39:02 +09:00
pack-redundant.c treewide: use get_all_packs 2018-08-20 15:31:40 -07:00
pack-refs.c
patch-id.c
prune-packed.c for_each_*_object: move declarations to object-store.h 2018-08-14 12:29:57 -07:00
prune.c Merge branch 'md/exclude-promisor-objects-fix' 2018-11-06 15:50:21 +09:00
pull.c Merge branch 'jk/verify-sig-merge-into-void' 2018-11-18 18:23:54 +09:00
push.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
range-diff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
read-tree.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
rebase--interactive.c rebase -i: move rebase--helper modes to rebase--interactive 2018-10-09 10:44:10 +09:00
rebase.c Merge branch 'js/builtin-rebase-perf-fix-err-fix' 2018-11-21 20:39:01 +09:00
receive-pack.c Merge branch 'jc/receive-deny-current-branch-fix' 2018-10-30 15:43:46 +09:00
reflog.c Merge branch 'nd/per-worktree-ref-iteration' 2018-11-13 22:37:26 +09:00
remote-ext.c
remote-fd.c
remote.c Merge branch 'ms/remote-error-message-update' 2018-09-24 10:30:52 -07:00
repack.c Merge branch 'ds/test-multi-pack-index' 2018-11-13 22:37:19 +09:00
replace.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
rerere.c Merge branch 'jk/xdiff-interface' 2018-11-13 22:37:27 +09:00
reset.c reset: warn when refresh_index() takes more than 2 seconds 2018-10-24 11:57:08 +09:00
rev-list.c Merge branch 'md/exclude-promisor-objects-fix' 2018-11-06 15:50:21 +09:00
rev-parse.c Merge branch 'ag/rev-parse-all-exclude-fix' 2018-11-13 22:37:23 +09:00
revert.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
rm.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
send-pack.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
serve.c
shortlog.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
show-branch.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
show-index.c
show-ref.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
stripspace.c
submodule--helper.c Merge branch 'ao/submodule-wo-gitmodules-checked-out' 2018-11-13 22:37:22 +09:00
symbolic-ref.c
tag.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
unpack-file.c
unpack-objects.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
update-index.c Merge branch 'jk/unused-parameter-fixes' 2018-11-18 18:23:53 +09:00
update-ref.c update-ref: allow --no-deref with --stdin 2018-09-12 15:17:17 -07:00
update-server-info.c
upload-archive.c archive: initialize archivers earlier 2018-10-26 10:17:59 +09:00
upload-pack.c
var.c
verify-commit.c
verify-pack.c
verify-tag.c
worktree.c worktree: rename is_worktree_locked to worktree_lock_reason 2018-10-31 11:41:47 +09:00
write-tree.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00