brian m. carlson wrote: > Convert update_ref, refs_update_ref, and write_pseudoref to use struct > object_id. Update the existing callers as well. Remove update_ref_oid, > as it is no longer needed. > > Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> > --- I'm very happy to see this kind of cleanup (removal of update_ref_oid). > bisect.c | 5 +++-- > builtin/am.c | 14 +++++++------- > builtin/checkout.c | 3 +-- > builtin/clone.c | 14 +++++++------- > builtin/merge.c | 13 ++++++------- > builtin/notes.c | 10 +++++----- > builtin/pull.c | 2 +- > builtin/reset.c | 4 ++-- > builtin/update-ref.c | 2 +- > notes-cache.c | 2 +- > notes-utils.c | 2 +- > refs.c | 40 ++++++++++++++++------------------------ > refs.h | 5 +---- > sequencer.c | 9 +++------ > t/helper/test-ref-store.c | 10 +++++----- > transport-helper.c | 3 ++- > transport.c | 4 ++-- > 17 files changed, 64 insertions(+), 78 deletions(-) [...] > +++ b/builtin/checkout.c > @@ -664,8 +664,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts, > if (!strcmp(new->name, "HEAD") && !new->path && !opts->force_detach) { > /* Nothing to do. */ > } else if (opts->force_detach || !new->path) { /* No longer on any branch. */ > - update_ref(msg.buf, "HEAD", new->commit->object.oid.hash, NULL, > - REF_NODEREF, UPDATE_REFS_DIE_ON_ERR); > + update_ref(msg.buf, "HEAD", &new->commit->object.oid, NULL, REF_NODEREF, UPDATE_REFS_DIE_ON_ERR); Long line. [...] > --- a/builtin/pull.c > +++ b/builtin/pull.c > @@ -544,7 +544,7 @@ static int pull_into_void(const struct object_id *merge_head, > if (checkout_fast_forward(&empty_tree_oid, merge_head, 0)) > return 1; > > - if (update_ref("initial pull", "HEAD", merge_head->hash, curr_head->hash, 0, UPDATE_REFS_DIE_ON_ERR)) > + if (update_ref("initial pull", "HEAD", merge_head, curr_head, 0, UPDATE_REFS_DIE_ON_ERR)) > return 1; nit, not needing a change: Preexisting long line. I wonder if we can teach "make style" to perform line wrapping correctly and fix those all at once e.g. in builtin/ at some point. When reading, a consistent line length is helpful, but reviewing each patch for it feels like wasted time. [...] > --- a/refs.c > +++ b/refs.c > @@ -985,17 +985,9 @@ int ref_transaction_verify(struct ref_transaction *transaction, > flags, NULL, err); > } > > -int update_ref_oid(const char *msg, const char *refname, > - const struct object_id *new_oid, const struct object_id *old_oid, > - unsigned int flags, enum action_on_err onerr) > -{ > - return update_ref(msg, refname, new_oid ? new_oid->hash : NULL, > - old_oid ? old_oid->hash : NULL, flags, onerr); > -} > - Yay! [...] > --- a/sequencer.c > +++ b/sequencer.c > @@ -1114,12 +1114,10 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, > * write it at all. > */ > if (command == TODO_PICK && !opts->no_commit && (res == 0 || res == 1) && > - update_ref(NULL, "CHERRY_PICK_HEAD", commit->object.oid.hash, NULL, > - REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) > + update_ref(NULL, "CHERRY_PICK_HEAD", &commit->object.oid, NULL, REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) > res = -1; > if (command == TODO_REVERT && ((opts->no_commit && res == 0) || res == 1) && > - update_ref(NULL, "REVERT_HEAD", commit->object.oid.hash, NULL, > - REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) > + update_ref(NULL, "REVERT_HEAD", &commit->object.oid, NULL, REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) Long lines. [...] > @@ -2123,8 +2121,7 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts) > } > msg = reflog_message(opts, "finish", "%s onto %s", > head_ref.buf, buf.buf); > - if (update_ref(msg, head_ref.buf, head.hash, orig.hash, > - REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) { > + if (update_ref(msg, head_ref.buf, &head, &orig, REF_NODEREF, UPDATE_REFS_MSG_ON_ERR)) { > res = error(_("could not update %s"), > head_ref.buf); Likewise. As mentioned above, I am not too worried about the line length issues (none of these is particularly jarring). For what it's worth, Reviewed-by: Jonathan Nieder <jrnieder@xxxxxxxxx> Thanks.