From: Junio C Hamano Date: Thu, 18 Feb 2021 01:21:41 +0000 (-0800) Subject: Merge branch 'js/range-diff-one-side-only' X-Git-Tag: v2.31.0-rc0~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dadc91ff0c15b655070ad334a27a734e91635bd5;p=thirdparty%2Fgit.git Merge branch 'js/range-diff-one-side-only' The "git range-diff" command learned "--(left|right)-only" option to show only one side of the compared range. * js/range-diff-one-side-only: range-diff: offer --left-only/--right-only options range-diff: move the diffopt initialization down one layer range-diff: combine all options in a single data structure range-diff: simplify code spawning `git log` range-diff: libify the read_patches() function again range-diff: avoid leaking memory in two error code paths --- dadc91ff0c15b655070ad334a27a734e91635bd5 diff --cc range-diff.h index 4abd70c40f,27c9adfd2b..04ffe217be --- a/range-diff.h +++ b/range-diff.h @@@ -6,20 -6,19 +6,25 @@@ #define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60 + struct range_diff_options { + int creation_factor; + unsigned dual_color:1; + unsigned left_only:1, right_only:1; + const struct diff_options *diffopt; /* may be NULL */ + const struct strvec *other_arg; /* may be NULL */ + }; + /* - * Compare series of commits in RANGE1 and RANGE2, and emit to the - * standard output. NULL can be passed to DIFFOPT to use the built-in - * default. + * Compare series of commits in `range1` and `range2`, and emit to the + * standard output. */ int show_range_diff(const char *range1, const char *range2, - int creation_factor, int dual_color, - const struct diff_options *diffopt, - const struct strvec *other_arg); + struct range_diff_options *opts); +/* + * Determine whether the given argument is usable as a range argument of `git + * range-diff`, e.g. A..B. + */ +int is_range_diff_range(const char *arg); + #endif