Git fork
at reftables-rust 42 lines 1.2 kB view raw
1#ifndef RANGE_DIFF_H 2#define RANGE_DIFF_H 3 4#include "diff.h" 5#include "strvec.h" 6 7#define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60 8#define RANGE_DIFF_MAX_MEMORY_DEFAULT \ 9 (sizeof(void*) >= 8 ? \ 10 ((size_t)(1024L * 1024L) * (size_t)(4L * 1024L)) : /* 4GB on 64-bit */ \ 11 ((size_t)(1024L * 1024L) * (size_t)(2L * 1024L))) /* 2GB on 32-bit */ 12 13/* 14 * A much higher value than the default, when we KNOW we are comparing 15 * the same series (e.g., used when format-patch calls range-diff). 16 */ 17#define CREATION_FACTOR_FOR_THE_SAME_SERIES 999 18 19struct range_diff_options { 20 int creation_factor; 21 unsigned dual_color:1; 22 unsigned left_only:1, right_only:1; 23 unsigned include_merges:1; 24 size_t max_memory; 25 const struct diff_options *diffopt; /* may be NULL */ 26 const struct strvec *log_arg; /* may be NULL */ 27}; 28 29/* 30 * Compare series of commits in `range1` and `range2`, and emit to the 31 * standard output. 32 */ 33int show_range_diff(const char *range1, const char *range2, 34 struct range_diff_options *opts); 35 36/* 37 * Determine whether the given argument is usable as a range argument of `git 38 * range-diff`, e.g. A..B. 39 */ 40int is_range_diff_range(const char *arg); 41 42#endif