X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=diffcore.h;h=cc96c20734bf4184970f5381416637cf6e45ea13;hb=cfbe7ab333d68790eb37341e30f040f99cef6af7;hp=1ea80671e30500f95fc1b648ccc6d5143ac0ac52;hpb=460ca302fdf453459850676c049ed7b46b43a0d4;p=git.git diff --git a/diffcore.h b/diffcore.h index 1ea80671e..cc96c2073 100644 --- a/diffcore.h +++ b/diffcore.h @@ -1,8 +1,8 @@ /* * Copyright (C) 2005 Junio C Hamano */ -#ifndef _DIFFCORE_H_ -#define _DIFFCORE_H_ +#ifndef DIFFCORE_H +#define DIFFCORE_H /* This header file is internal between diff.c and its diff transformers * (e.g. diffcore-rename, diffcore-pickaxe). Never include this header @@ -27,8 +27,11 @@ struct diff_filespec { char *path; void *data; void *cnt_data; + const char *funcname_pattern_ident; unsigned long size; + int count; /* Reference count */ int xfrm_flags; /* for use by the xfrm */ + int rename_used; /* Count of rename users */ unsigned short mode; /* file mode */ unsigned sha1_valid : 1; /* if true, use sha1 and trust mode; * if false, use the name and read from @@ -37,21 +40,25 @@ struct diff_filespec { #define DIFF_FILE_VALID(spec) (((spec)->mode) != 0) unsigned should_free : 1; /* data should be free()'ed */ unsigned should_munmap : 1; /* data should be munmap()'ed */ + unsigned checked_attr : 1; + unsigned is_binary : 1; /* data should be considered "binary" */ }; extern struct diff_filespec *alloc_filespec(const char *); +extern void free_filespec(struct diff_filespec *); extern void fill_filespec(struct diff_filespec *, const unsigned char *, unsigned short); extern int diff_populate_filespec(struct diff_filespec *, int); extern void diff_free_filespec_data(struct diff_filespec *); +extern void diff_free_filespec_blob(struct diff_filespec *); +extern int diff_filespec_is_binary(struct diff_filespec *); struct diff_filepair { struct diff_filespec *one; struct diff_filespec *two; unsigned short int score; char status; /* M C R N D U (see Documentation/diff-format.txt) */ - unsigned source_stays : 1; /* all of R/C are copies */ unsigned broken_pair : 1; unsigned renamed_pair : 1; unsigned is_unmerged : 1; @@ -103,8 +110,8 @@ void diff_debug_queue(const char *, struct diff_queue_struct *); #define diff_debug_queue(a,b) do {} while(0) #endif -extern int diffcore_count_changes(void *src, unsigned long src_size, - void *dst, unsigned long dst_size, +extern int diffcore_count_changes(struct diff_filespec *src, + struct diff_filespec *dst, void **src_count_p, void **dst_count_p, unsigned long delta_limit,