All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] commit: convert lookup_commit_graft to struct object_id
Date: Thu, 13 Jul 2017 11:54:04 -0700	[thread overview]
Message-ID: <xmqq60ewxj5f.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20170713004415.5051-1-sbeller@google.com> (Stefan Beller's message of "Wed, 12 Jul 2017 17:44:14 -0700")

Stefan Beller <sbeller@google.com> 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@google.com>
> ---
>
> 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;

      parent reply	other threads:[~2017-07-13 18:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13  0:44 [PATCH 1/2] commit: convert lookup_commit_graft to struct object_id Stefan Beller
2017-07-13  0:44 ` [PATCH 2/2] tag: convert gpg_verify_tag to use " Stefan Beller
2017-07-13 19:02   ` Junio C Hamano
2017-07-13 20:52   ` Junio C Hamano
2017-07-13 21:00     ` Stefan Beller
2017-07-13 21:23       ` Junio C Hamano
2017-07-13 21:49         ` Stefan Beller
2017-07-13 23:45           ` brian m. carlson
2017-07-13  2:26 ` [PATCH 1/2] commit: convert lookup_commit_graft to " brian m. carlson
2017-07-13 18:54 ` Junio C Hamano [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqq60ewxj5f.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.