v2 reduces diff noise. My C is rusty (and probably holey too). For some reason I remember "unsigned" is equivalent to "unsigned short", not "unsigned int". Nguyễn Thái Ngọc Duy (3): diff-parseopt: correct variable types that are used by parseopt diff-parseopt: restore -U (no argument) behavior parse-options: check empty value in OPT_INTEGER and OPT_ABBREV diff.c | 10 ++++--- diff.h | 2 +- parse-options-cb.c | 3 +++ parse-options.c | 3 +++ t/t4013-diff-various.sh | 2 ++ t/t4013/diff.diff_-U1_initial..side (new) | 29 ++++++++++++++++++++ t/t4013/diff.diff_-U2_initial..side (new) | 31 ++++++++++++++++++++++ t/t4013/diff.diff_-U_initial..side (new) | 32 +++++++++++++++++++++++ 8 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 t/t4013/diff.diff_-U1_initial..side create mode 100644 t/t4013/diff.diff_-U2_initial..side create mode 100644 t/t4013/diff.diff_-U_initial..side Interdiff dựa trên v1: diff --git a/diff.h b/diff.h index 4527daf6b7..d5e44baa96 100644 --- a/diff.h +++ b/diff.h @@ -65,39 +65,39 @@ typedef struct strbuf *(*diff_prefix_fn_t)(struct diff_options *opt, void *data) #define DIFF_FLAGS_INIT { 0 } struct diff_flags { - unsigned int recursive; - unsigned int tree_in_recursive; - unsigned int binary; - unsigned int text; - unsigned int full_index; - unsigned int silent_on_remove; - unsigned int find_copies_harder; - unsigned int follow_renames; - unsigned int rename_empty; - unsigned int has_changes; - unsigned int quick; - unsigned int no_index; - unsigned int allow_external; - unsigned int exit_with_status; - unsigned int reverse_diff; - unsigned int check_failed; - unsigned int relative_name; - unsigned int ignore_submodules; - unsigned int dirstat_cumulative; - unsigned int dirstat_by_file; - unsigned int allow_textconv; - unsigned int textconv_set_via_cmdline; - unsigned int diff_from_contents; - unsigned int dirty_submodules; - unsigned int ignore_untracked_in_submodules; - unsigned int ignore_dirty_submodules; - unsigned int override_submodule_config; - unsigned int dirstat_by_line; - unsigned int funccontext; - unsigned int default_follow_renames; - unsigned int stat_with_summary; - unsigned int suppress_diff_headers; - unsigned int dual_color_diffed_diffs; + unsigned recursive; + unsigned tree_in_recursive; + unsigned binary; + unsigned text; + unsigned full_index; + unsigned silent_on_remove; + unsigned find_copies_harder; + unsigned follow_renames; + unsigned rename_empty; + unsigned has_changes; + unsigned quick; + unsigned no_index; + unsigned allow_external; + unsigned exit_with_status; + unsigned reverse_diff; + unsigned check_failed; + unsigned relative_name; + unsigned ignore_submodules; + unsigned dirstat_cumulative; + unsigned dirstat_by_file; + unsigned allow_textconv; + unsigned textconv_set_via_cmdline; + unsigned diff_from_contents; + unsigned dirty_submodules; + unsigned ignore_untracked_in_submodules; + unsigned ignore_dirty_submodules; + unsigned override_submodule_config; + unsigned dirstat_by_line; + unsigned funccontext; + unsigned default_follow_renames; + unsigned stat_with_summary; + unsigned suppress_diff_headers; + unsigned dual_color_diffed_diffs; }; static inline void diff_flags_or(struct diff_flags *a, @@ -151,7 +151,7 @@ struct diff_options { int skip_stat_unmatch; int line_termination; int output_format; - unsigned int pickaxe_opts; + unsigned pickaxe_opts; int rename_score; int rename_limit; int needed_rename_limit; -- 2.22.0.rc0.322.g2b0371e29a