From b78ea5fc3574a2ce262cfb37a7ea890caddd0cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Fri, 21 Sep 2018 17:57:19 +0200 Subject: diff.c: reduce implicit dependency on the_index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff and textconv code has so widespread use that it's hard to simply update their api and all call sites at once because it would result in a big patch. For now reduce the_index references to two places: diff_setup() and fill_textconv(). Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- diffcore.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'diffcore.h') diff --git a/diffcore.h b/diffcore.h index 8d81a45f51..b651061c0e 100644 --- a/diffcore.h +++ b/diffcore.h @@ -7,6 +7,8 @@ #include "cache.h" struct diff_options; +struct repository; +struct userdiff_driver; /* This header file is internal between diff.c and its diff transformers * (e.g. diffcore-rename, diffcore-pickaxe). Never include this header @@ -26,8 +28,6 @@ struct diff_options; #define MINIMUM_BREAK_SIZE 400 /* do not break a file smaller than this */ -struct userdiff_driver; - struct diff_filespec { struct object_id oid; char *path; @@ -61,10 +61,10 @@ void fill_filespec(struct diff_filespec *, const struct object_id *, #define CHECK_SIZE_ONLY 1 #define CHECK_BINARY 2 -int diff_populate_filespec(struct diff_filespec *, unsigned int); +int diff_populate_filespec(struct repository *, struct diff_filespec *, unsigned int); void diff_free_filespec_data(struct diff_filespec *); void diff_free_filespec_blob(struct diff_filespec *); -int diff_filespec_is_binary(struct diff_filespec *); +int diff_filespec_is_binary(struct repository *, struct diff_filespec *); struct diff_filepair { struct diff_filespec *one; @@ -111,7 +111,7 @@ struct diff_filepair *diff_queue(struct diff_queue_struct *, struct diff_filespec *); void diff_q(struct diff_queue_struct *, struct diff_filepair *); -void diffcore_break(int); +void diffcore_break(struct repository *, int); void diffcore_rename(struct diff_options *); void diffcore_merge_broken(void); void diffcore_pickaxe(struct diff_options *); @@ -142,7 +142,8 @@ void diff_debug_queue(const char *, struct diff_queue_struct *); #define diff_debug_queue(a,b) do { /* nothing */ } while (0) #endif -int diffcore_count_changes(struct diff_filespec *src, +int diffcore_count_changes(struct repository *r, + struct diff_filespec *src, struct diff_filespec *dst, void **src_count_p, void **dst_count_p, -- cgit v1.2.3