Web lists-archives.com

Re: [PATCH 1/2] commit: convert lookup_commit_graft to struct object_id




Stefan Beller <sbeller@xxxxxxxxxx> writes:

> With this patch, commit.h doesn't contain the string 'sha1' any more.

;-)  Nice.

commit_graft_pos() still thinks we only deal with SHA-1, but that
needs to wait for oid_pos().  The function has only two callers that
do not pass X->oid.hash so it may be a good candidate to convert.

>
> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx>
> ---
>
> Before diving into the "RFC object store" series further, I want to get
> rid of the final sha1s in {commit,tag}.{c,h}.
>
>  commit.c  | 6 +++---
>  commit.h  | 2 +-
>  fsck.c    | 2 +-
>  shallow.c | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/commit.c b/commit.c
> index cbfd689939..e0888cf0f7 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -199,11 +199,11 @@ static void prepare_commit_graft(void)
>  	commit_graft_prepared = 1;
>  }
>  
> -struct commit_graft *lookup_commit_graft(const unsigned char *sha1)
> +struct commit_graft *lookup_commit_graft(const struct object_id *oid)
>  {
>  	int pos;
>  	prepare_commit_graft();
> -	pos = commit_graft_pos(sha1);
> +	pos = commit_graft_pos(oid->hash);
>  	if (pos < 0)
>  		return NULL;
>  	return commit_graft[pos];
> @@ -335,7 +335,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s
>  	bufptr += tree_entry_len + 1; /* "tree " + "hex sha1" + "\n" */
>  	pptr = &item->parents;
>  
> -	graft = lookup_commit_graft(item->object.oid.hash);
> +	graft = lookup_commit_graft(&item->object.oid);
>  	while (bufptr + parent_entry_len < tail && !memcmp(bufptr, "parent ", 7)) {
>  		struct commit *new_parent;
>  
> diff --git a/commit.h b/commit.h
> index 4127c298cb..6d857f06c1 100644
> --- a/commit.h
> +++ b/commit.h
> @@ -249,7 +249,7 @@ typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *);
>  
>  struct commit_graft *read_graft_line(char *buf, int len);
>  int register_commit_graft(struct commit_graft *, int);
> -struct commit_graft *lookup_commit_graft(const unsigned char *sha1);
> +struct commit_graft *lookup_commit_graft(const struct object_id *oid);
>  
>  extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2);
>  extern struct commit_list *get_merge_bases_many(struct commit *one, int n, struct commit **twos);
> diff --git a/fsck.c b/fsck.c
> index b4204d772b..2d2d2e9432 100644
> --- a/fsck.c
> +++ b/fsck.c
> @@ -736,7 +736,7 @@ static int fsck_commit_buffer(struct commit *commit, const char *buffer,
>  		buffer += 41;
>  		parent_line_count++;
>  	}
> -	graft = lookup_commit_graft(commit->object.oid.hash);
> +	graft = lookup_commit_graft(&commit->object.oid);
>  	parent_count = commit_list_count(commit->parents);
>  	if (graft) {
>  		if (graft->nr_parent == -1 && !parent_count)
> diff --git a/shallow.c b/shallow.c
> index 54359d5490..f5591e56da 100644
> --- a/shallow.c
> +++ b/shallow.c
> @@ -107,7 +107,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth,
>  		cur_depth++;
>  		if ((depth != INFINITE_DEPTH && cur_depth >= depth) ||
>  		    (is_repository_shallow() && !commit->parents &&
> -		     (graft = lookup_commit_graft(commit->object.oid.hash)) != NULL &&
> +		     (graft = lookup_commit_graft(&commit->object.oid)) != NULL &&
>  		     graft->nr_parent < 0)) {
>  			commit_list_insert(commit, &result);
>  			commit->object.flags |= shallow_flag;
> @@ -398,7 +398,7 @@ void prepare_shallow_info(struct shallow_info *info, struct oid_array *sa)
>  	for (i = 0; i < sa->nr; i++) {
>  		if (has_object_file(sa->oid + i)) {
>  			struct commit_graft *graft;
> -			graft = lookup_commit_graft(sa->oid[i].hash);
> +			graft = lookup_commit_graft(&sa->oid[i]);
>  			if (graft && graft->nr_parent < 0)
>  				continue;
>  			info->ours[info->nr_ours++] = i;