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