mirror of
https://github.com/git/git.git
synced 2024-11-28 12:34:08 +08:00
f258475a6e
This makes"diff -p" hunk headers customizable via gitattributes mechanism. It is based on Johannes's earlier patch that allowed to define a single regexp to be used for everything. The mechanism to arrive at the regexp that is used to define hunk header is the same as other use of gitattributes. You assign an attribute, funcname (because "diff -p" typically uses the name of the function the patch is about as the hunk header), a simple string value. This can be one of the names of built-in pattern (currently, "java" is defined) or a custom pattern name, to be looked up from the configuration file. (in .gitattributes) *.java funcname=java *.perl funcname=perl (in .git/config) [funcname] java = ... # ugly and complicated regexp to override the built-in one. perl = ... # another ugly and complicated regexp to define a new one. Signed-off-by: Junio C Hamano <gitster@pobox.com>
26 lines
632 B
C
26 lines
632 B
C
#ifndef XDIFF_INTERFACE_H
|
|
#define XDIFF_INTERFACE_H
|
|
|
|
#include "xdiff/xdiff.h"
|
|
|
|
struct xdiff_emit_state;
|
|
|
|
typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long);
|
|
|
|
struct xdiff_emit_state {
|
|
xdiff_emit_consume_fn consume;
|
|
char *remainder;
|
|
unsigned long remainder_size;
|
|
};
|
|
|
|
int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf);
|
|
int parse_hunk_header(char *line, int len,
|
|
int *ob, int *on,
|
|
int *nb, int *nn);
|
|
int read_mmfile(mmfile_t *ptr, const char *filename);
|
|
int buffer_is_binary(const char *ptr, unsigned long size);
|
|
|
|
extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line);
|
|
|
|
#endif
|