diff options
Diffstat (limited to 'commit.c')
| -rw-r--r-- | commit.c | 59 | 
1 files changed, 29 insertions, 30 deletions
| @@ -18,38 +18,38 @@ int save_commit_buffer = 1;  const char *commit_type = "commit"; -struct commit *lookup_commit_reference_gently(const unsigned char *sha1, +struct commit *lookup_commit_reference_gently(const struct object_id *oid,  					      int quiet)  { -	struct object *obj = deref_tag(parse_object(sha1), NULL, 0); +	struct object *obj = deref_tag(parse_object(oid), NULL, 0);  	if (!obj)  		return NULL;  	return object_as_type(obj, OBJ_COMMIT, quiet);  } -struct commit *lookup_commit_reference(const unsigned char *sha1) +struct commit *lookup_commit_reference(const struct object_id *oid)  { -	return lookup_commit_reference_gently(sha1, 0); +	return lookup_commit_reference_gently(oid, 0);  } -struct commit *lookup_commit_or_die(const unsigned char *sha1, const char *ref_name) +struct commit *lookup_commit_or_die(const struct object_id *oid, const char *ref_name)  { -	struct commit *c = lookup_commit_reference(sha1); +	struct commit *c = lookup_commit_reference(oid);  	if (!c)  		die(_("could not parse %s"), ref_name); -	if (hashcmp(sha1, c->object.oid.hash)) { +	if (oidcmp(oid, &c->object.oid)) {  		warning(_("%s %s is not a commit!"), -			ref_name, sha1_to_hex(sha1)); +			ref_name, oid_to_hex(oid));  	}  	return c;  } -struct commit *lookup_commit(const unsigned char *sha1) +struct commit *lookup_commit(const struct object_id *oid)  { -	struct object *obj = lookup_object(sha1); +	struct object *obj = lookup_object(oid->hash);  	if (!obj) -		return create_object(sha1, alloc_commit_node()); +		return create_object(oid->hash, alloc_commit_node());  	return object_as_type(obj, OBJ_COMMIT, 0);  } @@ -60,13 +60,13 @@ struct commit *lookup_commit_reference_by_name(const char *name)  	if (get_sha1_committish(name, oid.hash))  		return NULL; -	commit = lookup_commit_reference(oid.hash); +	commit = lookup_commit_reference(&oid);  	if (parse_commit(commit))  		return NULL;  	return commit;  } -static unsigned long parse_commit_date(const char *buf, const char *tail) +static timestamp_t parse_commit_date(const char *buf, const char *tail)  {  	const char *dateptr; @@ -89,8 +89,8 @@ static unsigned long parse_commit_date(const char *buf, const char *tail)  		/* nada */;  	if (buf >= tail)  		return 0; -	/* dateptr < buf && buf[-1] == '\n', so strtoul will stop at buf-1 */ -	return strtoul(dateptr, NULL, 10); +	/* dateptr < buf && buf[-1] == '\n', so parsing will stop at buf-1 */ +	return parse_timestamp(dateptr, NULL, 10);  }  static struct commit_graft **commit_graft; @@ -216,9 +216,9 @@ int for_each_commit_graft(each_commit_graft_fn fn, void *cb_data)  	return ret;  } -int unregister_shallow(const unsigned char *sha1) +int unregister_shallow(const struct object_id *oid)  { -	int pos = commit_graft_pos(sha1); +	int pos = commit_graft_pos(oid->hash);  	if (pos < 0)  		return -1;  	if (pos + 1 < commit_graft_nr) @@ -331,7 +331,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s  	if (get_sha1_hex(bufptr + 5, parent.hash) < 0)  		return error("bad tree pointer in commit %s",  			     oid_to_hex(&item->object.oid)); -	item->tree = lookup_tree(parent.hash); +	item->tree = lookup_tree(&parent);  	bufptr += tree_entry_len + 1; /* "tree " + "hex sha1" + "\n" */  	pptr = &item->parents; @@ -350,7 +350,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s  		 */  		if (graft && (graft->nr_parent < 0 || grafts_replace_parents))  			continue; -		new_parent = lookup_commit(parent.hash); +		new_parent = lookup_commit(&parent);  		if (new_parent)  			pptr = &commit_list_insert(new_parent, pptr)->next;  	} @@ -358,7 +358,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s  		int i;  		struct commit *new_parent;  		for (i = 0; i < graft->nr_parent; i++) { -			new_parent = lookup_commit(graft->parent[i].hash); +			new_parent = lookup_commit(&graft->parent[i]);  			if (!new_parent)  				continue;  			pptr = &commit_list_insert(new_parent, pptr)->next; @@ -415,8 +415,7 @@ int find_commit_subject(const char *commit_buffer, const char **subject)  		p++;  	if (*p) {  		p = skip_blank_lines(p + 2); -		for (eol = p; *eol && *eol != '\n'; eol++) -			; /* do nothing */ +		eol = strchrnul(p, '\n');  	} else  		eol = p; @@ -474,8 +473,8 @@ struct commit_list * commit_list_insert_by_date(struct commit *item, struct comm  static int commit_list_compare_by_date(const void *a, const void *b)  { -	unsigned long a_date = ((const struct commit_list *)a)->item->date; -	unsigned long b_date = ((const struct commit_list *)b)->item->date; +	timestamp_t a_date = ((const struct commit_list *)a)->item->date; +	timestamp_t b_date = ((const struct commit_list *)b)->item->date;  	if (a_date < b_date)  		return 1;  	if (a_date > b_date) @@ -563,7 +562,7 @@ void clear_commit_marks_for_object_array(struct object_array *a, unsigned mark)  	for (i = 0; i < a->nr; i++) {  		object = a->objects[i].item; -		commit = lookup_commit_reference_gently(object->oid.hash, 1); +		commit = lookup_commit_reference_gently(&object->oid, 1);  		if (commit)  			clear_commit_marks(commit, mark);  	} @@ -599,7 +598,7 @@ static void record_author_date(struct author_date_slab *author_date,  	const char *ident_line;  	size_t ident_len;  	char *date_end; -	unsigned long date; +	timestamp_t date;  	ident_line = find_commit_header(buffer, "author", &ident_len);  	if (!ident_line) @@ -608,7 +607,7 @@ static void record_author_date(struct author_date_slab *author_date,  	    !ident.date_begin || !ident.date_end)  		goto fail_exit; /* malformed "author" line */ -	date = strtoul(ident.date_begin, &date_end, 10); +	date = parse_timestamp(ident.date_begin, &date_end, 10);  	if (date_end != ident.date_end)  		goto fail_exit; /* malformed date */  	*(author_date_slab_at(author_date, commit)) = date; @@ -622,8 +621,8 @@ static int compare_commits_by_author_date(const void *a_, const void *b_,  {  	const struct commit *a = a_, *b = b_;  	struct author_date_slab *author_date = cb_data; -	unsigned long a_date = *(author_date_slab_at(author_date, a)); -	unsigned long b_date = *(author_date_slab_at(author_date, b)); +	timestamp_t a_date = *(author_date_slab_at(author_date, a)); +	timestamp_t b_date = *(author_date_slab_at(author_date, b));  	/* newer commits with larger date first */  	if (a_date < b_date) @@ -1590,7 +1589,7 @@ struct commit *get_merge_parent(const char *name)  	struct object_id oid;  	if (get_sha1(name, oid.hash))  		return NULL; -	obj = parse_object(oid.hash); +	obj = parse_object(&oid);  	commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT);  	if (commit && !commit->util)  		set_merge_remote_desc(commit, name, obj); | 
