Revision c63777c0d7687a1edff2c0da307ad8ac1d75c8f6 authored by Junio C Hamano on 06 May 2007, 04:18:57 UTC, committed by Junio C Hamano on 06 May 2007, 05:40:27 UTC
When you do this, existing "blame -C -C" would not find that the
latter half of the file2 came from the existing file1:

	... both file1 and file2 are tracked ...
	$ cat file1 >>file2
	$ git add file1 file2
	$ git commit

This is because we avoid the expensive find-copies-harder code
that makes unchanged file (in this case, file1) as a candidate
for copy & paste source when annotating an existing file
(file2).  The third -C now allows it.  However, this obviously
makes the process very expensive.  We've actually seen this
patch before, but I dismissed it because it covers such a narrow
(and arguably stupid) corner case.

Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent dd166aa
Raw File
utf8.h
#ifndef GIT_UTF8_H
#define GIT_UTF8_H

int utf8_width(const char **start);
int is_utf8(const char *text);
int is_encoding_utf8(const char *name);

int print_wrapped_text(const char *text, int indent, int indent2, int len);

#ifndef NO_ICONV
char *reencode_string(const char *in, const char *out_encoding, const char *in_encoding);
#else
#define reencode_string(a,b,c) NULL
#endif

#endif
back to top