#define DIFF_FORMAT_NUMSTAT 0x0004
#define DIFF_FORMAT_SUMMARY 0x0008
#define DIFF_FORMAT_PATCH 0x0010
+#define DIFF_FORMAT_SHORTSTAT 0x0020
/* These override all above */
#define DIFF_FORMAT_NAME 0x0100
const char *filter;
const char *orderfile;
const char *pickaxe;
+ const char *single_follow;
unsigned recursive:1,
tree_in_recursive:1,
binary:1,
silent_on_remove:1,
find_copies_harder:1,
color_diff:1,
- color_diff_words:1;
+ color_diff_words:1,
+ has_changes:1,
+ quiet:1,
+ allow_external:1,
+ exit_with_status:1;
int context;
int break_opt;
int detect_rename;
int stat_width;
int stat_name_width;
+ /* this is set by diffcore for DIFF_FORMAT_PATCH */
+ int found_changes;
+
int nr_paths;
const char **paths;
int *pathlens;
const char *base, const char *path);
extern void diff_unmerge(struct diff_options *,
- const char *path);
-
-extern int diff_scoreopt_parse(const char *opt);
+ const char *path,
+ unsigned mode,
+ const unsigned char *sha1);
#define DIFF_SETUP_REVERSE 1
#define DIFF_SETUP_USE_CACHE 2
extern void diffcore_std(struct diff_options *);
-extern void diffcore_std_no_resolve(struct diff_options *);
-
#define COMMON_DIFF_OPTIONS_HELP \
"\ncommon diff options:\n" \
" -z output diff-raw with lines terminated with NUL.\n" \
extern const char *diff_unique_abbrev(const unsigned char *, int);
extern int run_diff_files(struct rev_info *revs, int silent_on_removed);
+extern int setup_diff_no_index(struct rev_info *revs,
+ int argc, const char ** argv, int nongit, const char *prefix);
+extern int run_diff_files_cmd(struct rev_info *revs, int argc, const char **argv);
extern int run_diff_index(struct rev_info *revs, int cached);
+extern int do_diff_cache(const unsigned char *, struct diff_options *);
extern int diff_flush_patch_id(struct diff_options *, unsigned char *);
#endif /* DIFF_H */