projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix multi_ack.
[git.git]
/
commit.c
diff --git
a/commit.c
b/commit.c
index
59e93d4
..
8f40318
100644
(file)
--- a/
commit.c
+++ b/
commit.c
@@
-1,8
+1,9
@@
-#include <ctype.h>
#include "tag.h"
#include "commit.h"
#include "cache.h"
#include "tag.h"
#include "commit.h"
#include "cache.h"
+int save_commit_buffer = 1;
+
struct sort_node
{
/*
struct sort_node
{
/*
@@
-38,23
+39,32
@@
enum cmit_fmt get_commit_format(const char *arg)
die("invalid --pretty format");
}
die("invalid --pretty format");
}
-static struct commit *check_commit(struct object *obj, const unsigned char *sha1)
+static struct commit *check_commit(struct object *obj,
+ const unsigned char *sha1,
+ int quiet)
{
if (obj->type != commit_type) {
{
if (obj->type != commit_type) {
- error("Object %s is a %s, not a commit",
- sha1_to_hex(sha1), obj->type);
+ if (!quiet)
+ error("Object %s is a %s, not a commit",
+ sha1_to_hex(sha1), obj->type);
return NULL;
}
return (struct commit *) obj;
}
return NULL;
}
return (struct commit *) obj;
}
-struct commit *lookup_commit_reference(const unsigned char *sha1)
+struct commit *lookup_commit_reference_gently(const unsigned char *sha1,
+ int quiet)
{
struct object *obj = deref_tag(parse_object(sha1));
if (!obj)
return NULL;
{
struct object *obj = deref_tag(parse_object(sha1));
if (!obj)
return NULL;
- return check_commit(obj, sha1);
+ return check_commit(obj, sha1, quiet);
+}
+
+struct commit *lookup_commit_reference(const unsigned char *sha1)
+{
+ return lookup_commit_reference_gently(sha1, 0);
}
struct commit *lookup_commit(const unsigned char *sha1)
}
struct commit *lookup_commit(const unsigned char *sha1)
@@
-69,7
+79,7
@@
struct commit *lookup_commit(const unsigned char *sha1)
}
if (!obj->type)
obj->type = commit_type;
}
if (!obj->type)
obj->type = commit_type;
- return check_commit(obj, sha1);
+ return check_commit(obj, sha1
, 0
);
}
static unsigned long parse_commit_date(const char *buf)
}
static unsigned long parse_commit_date(const char *buf)
@@
-255,7
+265,7
@@
int parse_commit(struct commit *item)
sha1_to_hex(item->object.sha1));
}
ret = parse_commit_buffer(item, buffer, size);
sha1_to_hex(item->object.sha1));
}
ret = parse_commit_buffer(item, buffer, size);
- if (!ret) {
+ if (
save_commit_buffer &&
!ret) {
item->buffer = buffer;
return 0;
}
item->buffer = buffer;
return 0;
}
@@
-348,7
+358,7
@@
static int get_one_line(const char *msg, unsigned long len)
static int add_user_info(const char *what, enum cmit_fmt fmt, char *buf, const char *line)
{
char *date;
static int add_user_info(const char *what, enum cmit_fmt fmt, char *buf, const char *line)
{
char *date;
-
unsigned
int namelen;
+ int namelen;
unsigned long time;
int tz, ret;
unsigned long time;
int tz, ret;