This is another series in the continuing conversion to struct object_id. This series converts more of the builtin directory and some of the refs code to use struct object_id. Additionally, it implements an nth_packed_object_oid function which provides a struct object_id version of the nth_packed_object function, and a parse_oid_hex function that makes parsing easier. The patch to use parse_oid_hex in the refs code has been split out into its own patch, just because I'm wary of that code and potentially breaking things, and I want it to be easy to revert in case things go wrong. I have no reason to believe it is anything other than fully functional, however. Changes from v1: * Implement parse_oid_hex and use it. * Make nth_packed_object_oid take a variable into which to store the object ID. This avoids concerns about unsafe casts. * Rebase on master. brian m. carlson (19): builtin/commit: convert to struct object_id builtin/diff-tree: convert to struct object_id builtin/describe: convert to struct object_id builtin/fast-export: convert to struct object_id builtin/fmt-merge-message: convert to struct object_id builtin/grep: convert to struct object_id builtin/branch: convert to struct object_id builtin/clone: convert to struct object_id builtin/merge: convert to struct object_id Convert remaining callers of resolve_refdup to object_id builtin/replace: convert to struct object_id reflog-walk: convert struct reflog_info to struct object_id refs: convert each_reflog_ent_fn to struct object_id hex: introduce parse_oid_hex refs: simplify parsing of reflog entries sha1_file: introduce an nth_packed_object_oid function Convert object iteration callbacks to struct object_id builtin/merge-base: convert to struct object_id wt-status: convert to struct object_id builtin/branch.c | 26 +++++----- builtin/cat-file.c | 8 +-- builtin/clone.c | 10 ++-- builtin/commit.c | 46 ++++++++--------- builtin/count-objects.c | 4 +- builtin/describe.c | 50 +++++++++--------- builtin/diff-tree.c | 38 +++++++------- builtin/fast-export.c | 58 ++++++++++----------- builtin/fmt-merge-msg.c | 70 ++++++++++++------------- builtin/fsck.c | 40 +++++++-------- builtin/grep.c | 24 ++++----- builtin/merge-base.c | 30 +++++------ builtin/merge.c | 134 ++++++++++++++++++++++++------------------------ builtin/notes.c | 18 +++---- builtin/pack-objects.c | 6 +-- builtin/prune-packed.c | 4 +- builtin/prune.c | 8 +-- builtin/receive-pack.c | 4 +- builtin/reflog.c | 2 +- builtin/replace.c | 112 ++++++++++++++++++++-------------------- cache.h | 18 ++++++- hex.c | 8 +++ reachable.c | 30 +++++------ ref-filter.c | 4 +- reflog-walk.c | 26 +++++----- refs.c | 24 ++++----- refs.h | 2 +- refs/files-backend.c | 30 ++++++----- revision.c | 12 ++--- sha1_file.c | 27 +++++++--- sha1_name.c | 2 +- transport.c | 4 +- wt-status.c | 52 +++++++++---------- 33 files changed, 483 insertions(+), 448 deletions(-) -- 2.11.0