diff options
Diffstat (limited to 'range-diff.h')
| -rw-r--r-- | range-diff.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/range-diff.h b/range-diff.h new file mode 100644 index 0000000000..9d39818e34 --- /dev/null +++ b/range-diff.h @@ -0,0 +1,42 @@ +#ifndef RANGE_DIFF_H +#define RANGE_DIFF_H + +#include "diff.h" +#include "strvec.h" + +#define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60 +#define RANGE_DIFF_MAX_MEMORY_DEFAULT \ + (sizeof(void*) >= 8 ? \ + ((size_t)(1024L * 1024L) * (size_t)(4L * 1024L)) : /* 4GB on 64-bit */ \ + ((size_t)(1024L * 1024L) * (size_t)(2L * 1024L))) /* 2GB on 32-bit */ + +/* + * A much higher value than the default, when we KNOW we are comparing + * the same series (e.g., used when format-patch calls range-diff). + */ +#define CREATION_FACTOR_FOR_THE_SAME_SERIES 999 + +struct range_diff_options { + int creation_factor; + unsigned dual_color:1; + unsigned left_only:1, right_only:1; + unsigned include_merges:1; + size_t max_memory; + 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. + */ +int show_range_diff(const char *range1, const char *range2, + 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 |
