git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>,
	Michael Haggerty <mhagger@alum.mit.edu>,
	Brandon Williams <bmwill@google.com>
Subject: [PATCH 15/24] refs: convert read_ref_at to struct object_id
Date: Sun,  1 Oct 2017 22:08:22 +0000	[thread overview]
Message-ID: <20171001220831.214705-16-sandals@crustytoothpaste.net> (raw)
In-Reply-To: <20171001220831.214705-1-sandals@crustytoothpaste.net>

Convert the callers and internals, including struct read_ref_at_cb, of
read_ref_at to use struct object_id.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 builtin/show-branch.c |  5 ++---
 refs.c                | 34 +++++++++++++++++-----------------
 refs.h                |  2 +-
 sha1_name.c           |  3 +--
 4 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/builtin/show-branch.c b/builtin/show-branch.c
index 722a7f4bec..8ef8ad10c5 100644
--- a/builtin/show-branch.c
+++ b/builtin/show-branch.c
@@ -731,7 +731,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 				/* Ah, that is a date spec... */
 				timestamp_t at;
 				at = approxidate(reflog_base);
-				read_ref_at(ref, flags, at, -1, oid.hash, NULL,
+				read_ref_at(ref, flags, at, -1, &oid, NULL,
 					    NULL, NULL, &base);
 			}
 		}
@@ -743,8 +743,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
 			timestamp_t timestamp;
 			int tz;
 
-			if (read_ref_at(ref, flags, 0, base+i, oid.hash, &logmsg,
-					&timestamp, &tz, NULL)) {
+			if (read_ref_at(ref, flags, 0, base + i, &oid, &logmsg, &timestamp, &tz, NULL)) {
 				reflog = i;
 				break;
 			}
diff --git a/refs.c b/refs.c
index 6cbe2c1c6b..684dd75deb 100644
--- a/refs.c
+++ b/refs.c
@@ -734,11 +734,11 @@ struct read_ref_at_cb {
 	timestamp_t at_time;
 	int cnt;
 	int reccnt;
-	unsigned char *sha1;
+	struct object_id *oid;
 	int found_it;
 
-	unsigned char osha1[20];
-	unsigned char nsha1[20];
+	struct object_id ooid;
+	struct object_id noid;
 	int tz;
 	timestamp_t date;
 	char **msg;
@@ -770,25 +770,25 @@ static int read_ref_at_ent(struct object_id *ooid, struct object_id *noid,
 		 * we have not yet updated cb->[n|o]sha1 so they still
 		 * hold the values for the previous record.
 		 */
-		if (!is_null_sha1(cb->osha1)) {
-			hashcpy(cb->sha1, noid->hash);
-			if (hashcmp(cb->osha1, noid->hash))
+		if (!is_null_oid(&cb->ooid)) {
+			oidcpy(cb->oid, noid);
+			if (oidcmp(&cb->ooid, noid))
 				warning("Log for ref %s has gap after %s.",
 					cb->refname, show_date(cb->date, cb->tz, DATE_MODE(RFC2822)));
 		}
 		else if (cb->date == cb->at_time)
-			hashcpy(cb->sha1, noid->hash);
-		else if (hashcmp(noid->hash, cb->sha1))
+			oidcpy(cb->oid, noid);
+		else if (oidcmp(noid, cb->oid))
 			warning("Log for ref %s unexpectedly ended on %s.",
 				cb->refname, show_date(cb->date, cb->tz,
 						       DATE_MODE(RFC2822)));
-		hashcpy(cb->osha1, ooid->hash);
-		hashcpy(cb->nsha1, noid->hash);
+		oidcpy(&cb->ooid, ooid);
+		oidcpy(&cb->noid, noid);
 		cb->found_it = 1;
 		return 1;
 	}
-	hashcpy(cb->osha1, ooid->hash);
-	hashcpy(cb->nsha1, noid->hash);
+	oidcpy(&cb->ooid, ooid);
+	oidcpy(&cb->noid, noid);
 	if (cb->cnt > 0)
 		cb->cnt--;
 	return 0;
@@ -808,15 +808,15 @@ static int read_ref_at_ent_oldest(struct object_id *ooid, struct object_id *noid
 		*cb->cutoff_tz = tz;
 	if (cb->cutoff_cnt)
 		*cb->cutoff_cnt = cb->reccnt;
-	hashcpy(cb->sha1, ooid->hash);
-	if (is_null_sha1(cb->sha1))
-		hashcpy(cb->sha1, noid->hash);
+	oidcpy(cb->oid, ooid);
+	if (is_null_oid(cb->oid))
+		oidcpy(cb->oid, noid);
 	/* We just want the first entry */
 	return 1;
 }
 
 int read_ref_at(const char *refname, unsigned int flags, timestamp_t at_time, int cnt,
-		unsigned char *sha1, char **msg,
+		struct object_id *oid, char **msg,
 		timestamp_t *cutoff_time, int *cutoff_tz, int *cutoff_cnt)
 {
 	struct read_ref_at_cb cb;
@@ -829,7 +829,7 @@ int read_ref_at(const char *refname, unsigned int flags, timestamp_t at_time, in
 	cb.cutoff_time = cutoff_time;
 	cb.cutoff_tz = cutoff_tz;
 	cb.cutoff_cnt = cutoff_cnt;
-	cb.sha1 = sha1;
+	cb.oid = oid;
 
 	for_each_reflog_ent_reverse(refname, read_ref_at_ent, &cb);
 
diff --git a/refs.h b/refs.h
index 832ade2b13..3afecd2e8a 100644
--- a/refs.h
+++ b/refs.h
@@ -363,7 +363,7 @@ int safe_create_reflog(const char *refname, int force_create, struct strbuf *err
 /** Reads log for the value of ref during at_time. **/
 int read_ref_at(const char *refname, unsigned int flags,
 		timestamp_t at_time, int cnt,
-		unsigned char *sha1, char **msg,
+		struct object_id *oid, char **msg,
 		timestamp_t *cutoff_time, int *cutoff_tz, int *cutoff_cnt);
 
 /** Check if a particular reflog exists */
diff --git a/sha1_name.c b/sha1_name.c
index 7de12743f3..f0ec3f0454 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -697,8 +697,7 @@ static int get_oid_basic(const char *str, int len, struct object_id *oid,
 				return -1;
 			}
 		}
-		if (read_ref_at(real_ref, flags, at_time, nth, oid->hash, NULL,
-				&co_time, &co_tz, &co_cnt)) {
+		if (read_ref_at(real_ref, flags, at_time, nth, oid, NULL, &co_time, &co_tz, &co_cnt)) {
 			if (!len) {
 				if (starts_with(real_ref, "refs/heads/")) {
 					str = real_ref + 11;
-- 
2.14.2.822.g60be5d43e6


  parent reply	other threads:[~2017-10-01 22:09 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-01 22:08 [PATCH 00/24] object_id part 10 brian m. carlson
2017-10-01 22:08 ` [PATCH 01/24] walker: convert to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 02/24] refs/files-backend: convert struct ref_to_prune to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 03/24] refs: convert delete_ref and refs_delete_ref to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 04/24] refs: convert update_ref and refs_update_ref to use " brian m. carlson
2017-10-02 22:37   ` Stefan Beller
2017-10-03  1:23     ` brian m. carlson
2017-10-02 23:08   ` Brandon Williams
2017-10-01 22:08 ` [PATCH 05/24] refs: update ref transactions " brian m. carlson
2017-10-01 22:08 ` [PATCH 06/24] Convert check_connected " brian m. carlson
2017-10-02 23:00   ` Stefan Beller
2017-10-01 22:08 ` [PATCH 07/24] refs: convert resolve_refdup and refs_resolve_refdup to " brian m. carlson
2017-10-01 22:08 ` [PATCH 08/24] refs: convert read_ref and read_ref_full to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 09/24] refs: convert dwim_ref and expand_ref to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 10/24] builtin/reflog: convert remaining unsigned char uses to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 11/24] refs: convert dwim_log to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 12/24] pack-bitmap: convert traverse_bitmap_commit_list to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 13/24] builtin/pack-objects: convert to struct object_id brian m. carlson
2017-10-02 23:20   ` Stefan Beller
2017-10-01 22:08 ` [PATCH 14/24] refs: convert peel_ref " brian m. carlson
2017-10-01 22:08 ` brian m. carlson [this message]
2017-10-02 23:26   ` [PATCH 15/24] refs: convert read_ref_at " Brandon Williams
2017-10-01 22:08 ` [PATCH 16/24] refs: convert reflog_expire parameter " brian m. carlson
2017-10-01 22:08 ` [PATCH 17/24] sha1_file: convert index_path and index_fd " brian m. carlson
2017-10-01 22:08 ` [PATCH 18/24] Convert remaining callers of resolve_gitlink_ref to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 19/24] refs: convert resolve_gitlink_ref to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 20/24] worktree: convert struct worktree to object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 21/24] refs: convert resolve_ref_unsafe to struct object_id brian m. carlson
2017-10-01 22:08 ` [PATCH 22/24] refs: convert peel_object " brian m. carlson
2017-10-01 22:08 ` [PATCH 23/24] refs: convert read_raw_ref backends " brian m. carlson
2017-10-01 22:08 ` [PATCH 24/24] refs/files-backend: convert static functions to object_id brian m. carlson
2017-10-02 23:34 ` [PATCH 00/24] object_id part 10 Brandon Williams
2017-10-02 23:34 ` Stefan Beller
2017-10-03  1:43   ` brian m. carlson

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=20171001220831.214705-16-sandals@crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=bmwill@google.com \
    --cc=git@vger.kernel.org \
    --cc=mhagger@alum.mit.edu \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).