git log/diff: add -G<regexp> that greps in the patch text
[gitweb.git] / diff.h
diff --git a/diff.h b/diff.h
index 53ad345469ad106e768c0d9eda7f732e09832b01..1fd44f5e47604b94c28a673e6cadc6ec870da9df 100644 (file)
--- a/diff.h
+++ b/diff.h
@@ -127,6 +127,9 @@ struct diff_options {
        /* this is set by diffcore for DIFF_FORMAT_PATCH */
        int found_changes;
 
+       /* to support internal diff recursion by --follow hack*/
+       int found_follow;
+
        FILE *file;
        int close_file;
 
@@ -215,6 +218,13 @@ extern void diff_unmerge(struct diff_options *,
 #define DIFF_SETUP_USE_CACHE           2
 #define DIFF_SETUP_USE_SIZE_CACHE      4
 
+/*
+ * Poor man's alternative to parse-option, to allow both sticked form
+ * (--option=value) and separate form (--option value).
+ */
+extern int parse_long_opt(const char *opt, const char **argv,
+                        const char **optarg);
+
 extern int git_diff_basic_config(const char *var, const char *value, void *cb);
 extern int git_diff_ui_config(const char *var, const char *value, void *cb);
 extern int diff_use_color_default;
@@ -228,6 +238,9 @@ extern int diff_setup_done(struct diff_options *);
 #define DIFF_PICKAXE_ALL       1
 #define DIFF_PICKAXE_REGEX     2
 
+#define DIFF_PICKAXE_KIND_S    4 /* traditional plumbing counter */
+#define DIFF_PICKAXE_KIND_G    8 /* grep in the patch */
+
 extern void diffcore_std(struct diff_options *);
 extern void diffcore_fix_diff_index(struct diff_options *);