projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into next
[git.git]
/
blame.c
diff --git
a/blame.c
b/blame.c
index
8af4b54
..
396defc
100644
(file)
--- a/
blame.c
+++ b/
blame.c
@@
-180,11
+180,13
@@
static int get_blob_sha1_internal(unsigned char *sha1, const char *base,
unsigned mode, int stage);
static unsigned char blob_sha1[20];
unsigned mode, int stage);
static unsigned char blob_sha1[20];
+static const char* blame_file;
static int get_blob_sha1(struct tree *t, const char *pathname,
unsigned char *sha1)
{
int i;
const char *pathspec[2];
static int get_blob_sha1(struct tree *t, const char *pathname,
unsigned char *sha1)
{
int i;
const char *pathspec[2];
+ blame_file = pathname;
pathspec[0] = pathname;
pathspec[1] = NULL;
memset(blob_sha1, 0, sizeof(blob_sha1));
pathspec[0] = pathname;
pathspec[1] = NULL;
memset(blob_sha1, 0, sizeof(blob_sha1));
@@
-209,6
+211,10
@@
static int get_blob_sha1_internal(unsigned char *sha1, const char *base,
if (S_ISDIR(mode))
return READ_TREE_RECURSIVE;
if (S_ISDIR(mode))
return READ_TREE_RECURSIVE;
+ if (strncmp(blame_file, base, baselen) ||
+ strcmp(blame_file + baselen, pathname))
+ return -1;
+
memcpy(blob_sha1, sha1, 20);
return -1;
}
memcpy(blob_sha1, sha1, 20);
return -1;
}
@@
-742,10
+748,11
@@
int main(int argc, const char **argv)
struct commit_info ci;
const char *buf;
int max_digits;
struct commit_info ci;
const char *buf;
int max_digits;
-
size_
t longest_file, longest_author;
+
in
t longest_file, longest_author;
int found_rename;
const char* prefix = setup_git_directory();
int found_rename;
const char* prefix = setup_git_directory();
+ git_config(git_default_config);
for(i = 1; i < argc; i++) {
if(options) {
for(i = 1; i < argc; i++) {
if(options) {