From: Michael Haggerty <mhagger@alum.mit.edu>
To: "brian m. carlson" <sandals@crustytoothpaste.net>, git@vger.kernel.org
Cc: Andreas Schwab <schwab@linux-m68k.org>
Subject: Re: [PATCH v2 08/10] commit: convert parts to struct object_id
Date: Wed, 11 Mar 2015 15:46:43 +0100 [thread overview]
Message-ID: <55005553.9060704@alum.mit.edu> (raw)
In-Reply-To: <1425770645-628957-9-git-send-email-sandals@crustytoothpaste.net>
On 03/08/2015 12:24 AM, brian m. carlson wrote:
> Convert struct commit_graft and necessary local parts of commit.c.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
> commit.c | 32 ++++++++++++++++----------------
> commit.h | 4 ++--
> log-tree.c | 2 +-
> send-pack.c | 2 +-
> shallow.c | 8 ++++----
> upload-pack.c | 2 +-
> 6 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/commit.c b/commit.c
> index a8c7577..89c207e 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -55,12 +55,12 @@ struct commit *lookup_commit(const unsigned char *sha1)
>
> struct commit *lookup_commit_reference_by_name(const char *name)
> {
> - unsigned char sha1[20];
> + struct object_id oid;
> struct commit *commit;
>
> - if (get_sha1_committish(name, sha1))
> + if (get_sha1_committish(name, oid.sha1))
> return NULL;
> - commit = lookup_commit_reference(sha1);
> + commit = lookup_commit_reference(oid.sha1);
> if (parse_commit(commit))
> return NULL;
> return commit;
> @@ -99,7 +99,7 @@ static int commit_graft_alloc, commit_graft_nr;
> static const unsigned char *commit_graft_sha1_access(size_t index, void *table)
> {
> struct commit_graft **commit_graft_table = table;
> - return commit_graft_table[index]->sha1;
> + return commit_graft_table[index]->oid.sha1;
> }
>
> static int commit_graft_pos(const unsigned char *sha1)
> @@ -110,7 +110,7 @@ static int commit_graft_pos(const unsigned char *sha1)
>
> int register_commit_graft(struct commit_graft *graft, int ignore_dups)
> {
> - int pos = commit_graft_pos(graft->sha1);
> + int pos = commit_graft_pos(graft->oid.sha1);
>
> if (0 <= pos) {
> if (ignore_dups)
> @@ -148,12 +148,12 @@ struct commit_graft *read_graft_line(char *buf, int len)
> i = (len + 1) / 41 - 1;
> graft = xmalloc(sizeof(*graft) + 20 * i);
> graft->nr_parent = i;
> - if (get_sha1_hex(buf, graft->sha1))
> + if (get_oid_hex(buf, &graft->oid))
> goto bad_graft_data;
> for (i = 40; i < len; i += 41) {
> if (buf[i] != ' ')
> goto bad_graft_data;
> - if (get_sha1_hex(buf + i + 1, graft->parent[i/41]))
> + if (get_sha1_hex(buf + i + 1, graft->parent[i/41].sha1))
> goto bad_graft_data;
> }
There are a bunch of constants in this function related to
GIT_SHA1_RAWSZ and GIT_SHA1_HEXSZ.
> return graft;
> @@ -302,7 +302,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s
> {
> const char *tail = buffer;
> const char *bufptr = buffer;
> - unsigned char parent[20];
> + struct object_id parent;
> struct commit_list **pptr;
> struct commit_graft *graft;
>
> @@ -312,10 +312,10 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s
> tail += size;
> if (tail <= bufptr + 46 || memcmp(bufptr, "tree ", 5) || bufptr[45] != '\n')
> return error("bogus commit object %s", sha1_to_hex(item->object.sha1));
> - if (get_sha1_hex(bufptr + 5, parent) < 0)
> + if (get_sha1_hex(bufptr + 5, parent.sha1) < 0)
> return error("bad tree pointer in commit %s",
> sha1_to_hex(item->object.sha1));
> - item->tree = lookup_tree(parent);
> + item->tree = lookup_tree(parent.sha1);
> bufptr += 46; /* "tree " + "hex sha1" + "\n" */
> pptr = &item->parents;
>
Here, too; e.g.,
* "45" -> GIT_SHA1_HEXSZ + 5
* "46" -> GIT_SHA1_HEXSZ + 5 + 1
and below,
* "47" -> GIT_SHA1_HEXSZ + 7
* "48" -> GIT_SHA1_HEXSZ + 7 + 1
> @@ -324,7 +324,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s
> struct commit *new_parent;
>
> if (tail <= bufptr + 48 ||
> - get_sha1_hex(bufptr + 7, parent) ||
> + get_sha1_hex(bufptr + 7, parent.sha1) ||
> bufptr[47] != '\n')
> return error("bad parents in commit %s", sha1_to_hex(item->object.sha1));
> bufptr += 48;
> @@ -334,7 +334,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);
> + new_parent = lookup_commit(parent.sha1);
> if (new_parent)
> pptr = &commit_list_insert(new_parent, pptr)->next;
> }
> @@ -342,7 +342,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]);
> + new_parent = lookup_commit(graft->parent[i].sha1);
> if (!new_parent)
> continue;
> pptr = &commit_list_insert(new_parent, pptr)->next;
> @@ -1580,10 +1580,10 @@ struct commit *get_merge_parent(const char *name)
> {
> struct object *obj;
> struct commit *commit;
> - unsigned char sha1[20];
> - if (get_sha1(name, sha1))
> + struct object_id oid;
> + if (get_sha1(name, oid.sha1))
> return NULL;
> - obj = parse_object(sha1);
> + obj = parse_object(oid.sha1);
> commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT);
> if (commit && !commit->util) {
> struct merge_remote_desc *desc;
> diff --git a/commit.h b/commit.h
> index 9f189cb..ed3a1d5 100644
> --- a/commit.h
> +++ b/commit.h
> @@ -226,9 +226,9 @@ enum rev_sort_order {
> void sort_in_topological_order(struct commit_list **, enum rev_sort_order);
>
> struct commit_graft {
> - unsigned char sha1[20];
> + struct object_id oid;
> int nr_parent; /* < 0 if shallow commit */
> - unsigned char parent[FLEX_ARRAY][20]; /* more */
> + struct object_id parent[FLEX_ARRAY]; /* more */
> };
> typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *);
>
> diff --git a/log-tree.c b/log-tree.c
> index 7f0890e..f6b7801 100644
> --- a/log-tree.c
> +++ b/log-tree.c
> @@ -137,7 +137,7 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in
>
> static int add_graft_decoration(const struct commit_graft *graft, void *cb_data)
> {
> - struct commit *commit = lookup_commit(graft->sha1);
> + struct commit *commit = lookup_commit(graft->oid.sha1);
> if (!commit)
> return 0;
> add_name_decoration(DECORATION_GRAFTED, "grafted", &commit->object);
> diff --git a/send-pack.c b/send-pack.c
> index 9d2b0c5..e8389a4 100644
> --- a/send-pack.c
> +++ b/send-pack.c
> @@ -182,7 +182,7 @@ static int advertise_shallow_grafts_cb(const struct commit_graft *graft, void *c
> {
> struct strbuf *sb = cb;
> if (graft->nr_parent == -1)
> - packet_buf_write(sb, "shallow %s\n", sha1_to_hex(graft->sha1));
> + packet_buf_write(sb, "shallow %s\n", sha1_to_hex(graft->oid.sha1));
> return 0;
> }
>
> diff --git a/shallow.c b/shallow.c
> index d8bf40a..9ff2d4c 100644
> --- a/shallow.c
> +++ b/shallow.c
> @@ -31,7 +31,7 @@ int register_shallow(const unsigned char *sha1)
> xmalloc(sizeof(struct commit_graft));
> struct commit *commit = lookup_commit(sha1);
>
> - hashcpy(graft->sha1, sha1);
> + hashcpy(graft->oid.sha1, sha1);
> graft->nr_parent = -1;
> if (commit && commit->object.parsed)
> commit->parents = NULL;
> @@ -159,11 +159,11 @@ struct write_shallow_data {
> static int write_one_shallow(const struct commit_graft *graft, void *cb_data)
> {
> struct write_shallow_data *data = cb_data;
> - const char *hex = sha1_to_hex(graft->sha1);
> + const char *hex = oid_to_hex(&graft->oid);
> if (graft->nr_parent != -1)
> return 0;
> if (data->flags & SEEN_ONLY) {
> - struct commit *c = lookup_commit(graft->sha1);
> + struct commit *c = lookup_commit(graft->oid.sha1);
> if (!c || !(c->object.flags & SEEN)) {
> if (data->flags & VERBOSE)
> printf("Removing %s from .git/shallow\n",
> @@ -282,7 +282,7 @@ static int advertise_shallow_grafts_cb(const struct commit_graft *graft, void *c
> {
> int fd = *(int *)cb;
> if (graft->nr_parent == -1)
> - packet_write(fd, "shallow %s\n", sha1_to_hex(graft->sha1));
> + packet_write(fd, "shallow %s\n", oid_to_hex(&graft->oid));
> return 0;
> }
>
> diff --git a/upload-pack.c b/upload-pack.c
> index b531a32..0566ce0 100644
> --- a/upload-pack.c
> +++ b/upload-pack.c
> @@ -74,7 +74,7 @@ static int write_one_shallow(const struct commit_graft *graft, void *cb_data)
> {
> FILE *fp = cb_data;
> if (graft->nr_parent == -1)
> - fprintf(fp, "--shallow %s\n", sha1_to_hex(graft->sha1));
> + fprintf(fp, "--shallow %s\n", oid_to_hex(&graft->oid));
> return 0;
> }
>
>
--
Michael Haggerty
mhagger@alum.mit.edu
next prev parent reply other threads:[~2015-03-11 14:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-07 23:23 [PATCH v2 00/10] Use a structure for object IDs brian m. carlson
2015-03-07 23:23 ` [PATCH v2 01/10] Define " brian m. carlson
[not found] ` <CEA07500-9F47-4B24-AD5D-1423A601A4DD@gmail.com>
2015-03-11 22:08 ` brian m. carlson
2015-03-12 0:26 ` Junio C Hamano
2015-03-12 9:34 ` brian m. carlson
2015-03-12 10:28 ` Michael Haggerty
2015-03-12 10:46 ` brian m. carlson
2015-03-12 11:16 ` Duy Nguyen
2015-03-12 18:24 ` Junio C Hamano
2015-03-12 18:44 ` Junio C Hamano
2015-03-13 0:58 ` Duy Nguyen
2015-03-13 6:03 ` Junio C Hamano
2015-03-14 11:49 ` Duy Nguyen
2015-03-14 22:19 ` Junio C Hamano
2015-03-15 0:17 ` Duy Nguyen
2015-03-15 2:32 ` Junio C Hamano
2015-03-07 23:23 ` [PATCH v2 02/10] Define utility functions " brian m. carlson
2015-03-08 9:57 ` Duy Nguyen
2015-03-08 14:48 ` brian m. carlson
2015-03-11 12:44 ` Michael Haggerty
2015-03-07 23:23 ` [PATCH v2 03/10] bisect.c: convert leaf functions to use struct object_id brian m. carlson
2015-03-07 23:23 ` [PATCH v2 04/10] archive.c: convert " brian m. carlson
2015-03-11 14:20 ` Michael Haggerty
2015-03-11 22:12 ` brian m. carlson
2015-03-07 23:24 ` [PATCH v2 05/10] zip: use GIT_SHA1_HEXSZ for trailers brian m. carlson
2015-03-07 23:24 ` [PATCH v2 06/10] bulk-checkin.c: convert to use struct object_id brian m. carlson
2015-03-07 23:24 ` [PATCH v2 07/10] diff: convert struct combine_diff_path to object_id brian m. carlson
2015-03-07 23:24 ` [PATCH v2 08/10] commit: convert parts to struct object_id brian m. carlson
2015-03-11 14:46 ` Michael Haggerty [this message]
2015-03-07 23:24 ` [PATCH v2 09/10] patch-id: convert to use " brian m. carlson
2015-03-07 23:24 ` [PATCH v2 10/10] apply: convert threeway_stage to object_id brian m. carlson
2015-03-08 7:43 ` [PATCH v2 00/10] Use a structure for object IDs Junio C Hamano
2015-03-11 2:38 ` Kyle J. McKay
2015-03-11 16:08 ` Michael Haggerty
2015-03-11 20:35 ` Junio C Hamano
2015-03-13 22:45 ` brian m. carlson
-- strict thread matches above, loose matches on Subject: below --
2015-03-13 23:39 brian m. carlson
2015-03-13 23:39 ` [PATCH v2 08/10] commit: convert parts to struct object_id 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55005553.9060704@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=git@vger.kernel.org \
--cc=sandals@crustytoothpaste.net \
--cc=schwab@linux-m68k.org \
/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.