From: Brandon Williams <bmwill@google.com>
To: "brian m. carlson" <sandals@crustytoothpaste.net>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: Re: [PATCH 04/24] refs: convert update_ref and refs_update_ref to use struct object_id
Date: Mon, 2 Oct 2017 16:08:16 -0700 [thread overview]
Message-ID: <20171002230816.GC5189@google.com> (raw)
In-Reply-To: <20171001220831.214705-5-sandals@crustytoothpaste.net>
On 10/01, 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@crustytoothpaste.net>
> ---
> bisect.c | 6 ++++--
> 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 | 3 +--
> notes-utils.c | 2 +-
> refs.c | 39 ++++++++++++++++-----------------------
> refs.h | 5 +----
> sequencer.c | 9 +++------
> t/helper/test-ref-store.c | 10 +++++-----
> transport-helper.c | 3 ++-
> transport.c | 4 ++--
> 17 files changed, 65 insertions(+), 78 deletions(-)
>
> diff --git a/bisect.c b/bisect.c
> index 96beeb5d13..e8470a2e0f 100644
> --- a/bisect.c
> +++ b/bisect.c
> @@ -685,11 +685,13 @@ static int bisect_checkout(const struct object_id *bisect_rev, int no_checkout)
> char bisect_rev_hex[GIT_MAX_HEXSZ + 1];
>
> memcpy(bisect_rev_hex, oid_to_hex(bisect_rev), GIT_SHA1_HEXSZ + 1);
> - update_ref(NULL, "BISECT_EXPECTED_REV", bisect_rev->hash, NULL, 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(NULL, "BISECT_EXPECTED_REV", bisect_rev, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
>
> argv_checkout[2] = bisect_rev_hex;
> if (no_checkout) {
> - update_ref(NULL, "BISECT_HEAD", bisect_rev->hash, NULL, 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(NULL, "BISECT_HEAD", bisect_rev, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> } else {
> int res;
> res = run_command_v_opt(argv_checkout, RUN_GIT_CMD);
> diff --git a/builtin/am.c b/builtin/am.c
> index d7513f5375..32120f42df 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -1068,8 +1068,8 @@ static void am_setup(struct am_state *state, enum patch_format patch_format,
> if (!get_oid("HEAD", &curr_head)) {
> write_state_text(state, "abort-safety", oid_to_hex(&curr_head));
> if (!state->rebasing)
> - update_ref_oid("am", "ORIG_HEAD", &curr_head, NULL, 0,
> - UPDATE_REFS_DIE_ON_ERR);
> + update_ref("am", "ORIG_HEAD", &curr_head, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> } else {
> write_state_text(state, "abort-safety", "");
> if (!state->rebasing)
> @@ -1686,8 +1686,8 @@ static void do_commit(const struct am_state *state)
> strbuf_addf(&sb, "%s: %.*s", reflog_msg, linelen(state->msg),
> state->msg);
>
> - update_ref_oid(sb.buf, "HEAD", &commit, old_oid, 0,
> - UPDATE_REFS_DIE_ON_ERR);
> + update_ref(sb.buf, "HEAD", &commit, old_oid, 0,
> + UPDATE_REFS_DIE_ON_ERR);
>
> if (state->rebasing) {
> FILE *fp = xfopen(am_path(state, "rewritten"), "a");
> @@ -2147,9 +2147,9 @@ static void am_abort(struct am_state *state)
> clean_index(&curr_head, &orig_head);
>
> if (has_orig_head)
> - update_ref_oid("am --abort", "HEAD", &orig_head,
> - has_curr_head ? &curr_head : NULL, 0,
> - UPDATE_REFS_DIE_ON_ERR);
> + update_ref("am --abort", "HEAD", &orig_head,
> + has_curr_head ? &curr_head : NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> else if (curr_branch)
> delete_ref(NULL, curr_branch, NULL, REF_NODEREF);
>
> diff --git a/builtin/checkout.c b/builtin/checkout.c
> index 3345a0d16f..fd0dec401e 100644
> --- a/builtin/checkout.c
> +++ 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);
> if (!opts->quiet) {
> if (old->path &&
> advice_detached_head && !opts->force_detach)
> diff --git a/builtin/clone.c b/builtin/clone.c
> index dbddd98f80..4135621aa3 100644
> --- a/builtin/clone.c
> +++ b/builtin/clone.c
> @@ -610,8 +610,8 @@ static void write_followtags(const struct ref *refs, const char *msg)
> continue;
> if (!has_object_file(&ref->old_oid))
> continue;
> - update_ref(msg, ref->name, ref->old_oid.hash,
> - NULL, 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(msg, ref->name, &ref->old_oid, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> }
> }
>
> @@ -682,23 +682,23 @@ static void update_head(const struct ref *our, const struct ref *remote,
> if (create_symref("HEAD", our->name, NULL) < 0)
> die(_("unable to update HEAD"));
> if (!option_bare) {
> - update_ref(msg, "HEAD", our->old_oid.hash, NULL, 0,
> + update_ref(msg, "HEAD", &our->old_oid, NULL, 0,
> UPDATE_REFS_DIE_ON_ERR);
> install_branch_config(0, head, option_origin, our->name);
> }
> } else if (our) {
> struct commit *c = lookup_commit_reference(&our->old_oid);
> /* --branch specifies a non-branch (i.e. tags), detach HEAD */
> - update_ref(msg, "HEAD", c->object.oid.hash,
> - NULL, REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(msg, "HEAD", &c->object.oid, NULL, REF_NODEREF,
> + UPDATE_REFS_DIE_ON_ERR);
> } else if (remote) {
> /*
> * We know remote HEAD points to a non-branch, or
> * HEAD points to a branch but we don't know which one.
> * Detach HEAD in all these cases.
> */
> - update_ref(msg, "HEAD", remote->old_oid.hash,
> - NULL, REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(msg, "HEAD", &remote->old_oid, NULL, REF_NODEREF,
> + UPDATE_REFS_DIE_ON_ERR);
> }
> }
>
> diff --git a/builtin/merge.c b/builtin/merge.c
> index ab5ffe85e8..99d4b873f0 100644
> --- a/builtin/merge.c
> +++ b/builtin/merge.c
> @@ -405,9 +405,8 @@ static void finish(struct commit *head_commit,
> printf(_("No merge message -- not updating HEAD\n"));
> else {
> const char *argv_gc_auto[] = { "gc", "--auto", NULL };
> - update_ref(reflog_message.buf, "HEAD",
> - new_head->hash, head->hash, 0,
> - UPDATE_REFS_DIE_ON_ERR);
> + update_ref(reflog_message.buf, "HEAD", new_head, head,
> + 0, UPDATE_REFS_DIE_ON_ERR);
> /*
> * We ignore errors in 'gc --auto', since the
> * user should see them.
> @@ -1261,8 +1260,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
> die(_("Can merge only exactly one commit into empty head"));
> remote_head_oid = &remoteheads->item->object.oid;
> read_empty(remote_head_oid->hash, 0);
> - update_ref("initial pull", "HEAD", remote_head_oid->hash,
> - NULL, 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref("initial pull", "HEAD", remote_head_oid, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> goto done;
> }
>
> @@ -1357,8 +1356,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
> free(list);
> }
>
> - update_ref("updating ORIG_HEAD", "ORIG_HEAD", head_commit->object.oid.hash,
> - NULL, 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref("updating ORIG_HEAD", "ORIG_HEAD",
> + &head_commit->object.oid, NULL, 0, UPDATE_REFS_DIE_ON_ERR);
>
> if (remoteheads && !common) {
> /* No common ancestors found. */
> diff --git a/builtin/notes.c b/builtin/notes.c
> index 8e54f2d146..8276af419b 100644
> --- a/builtin/notes.c
> +++ b/builtin/notes.c
> @@ -736,8 +736,8 @@ static int merge_commit(struct notes_merge_options *o)
> format_commit_message(partial, "%s", &msg, &pretty_ctx);
> strbuf_trim(&msg);
> strbuf_insert(&msg, 0, "notes: ", 7);
> - update_ref(msg.buf, o->local_ref, oid.hash,
> - is_null_oid(&parent_oid) ? NULL : parent_oid.hash,
> + update_ref(msg.buf, o->local_ref, &oid,
> + is_null_oid(&parent_oid) ? NULL : &parent_oid,
> 0, UPDATE_REFS_DIE_ON_ERR);
>
> free_notes(t);
> @@ -850,12 +850,12 @@ static int merge(int argc, const char **argv, const char *prefix)
>
> if (result >= 0) /* Merge resulted (trivially) in result_oid */
> /* Update default notes ref with new commit */
> - update_ref(msg.buf, default_notes_ref(), result_oid.hash, NULL,
> - 0, UPDATE_REFS_DIE_ON_ERR);
> + update_ref(msg.buf, default_notes_ref(), &result_oid, NULL, 0,
> + UPDATE_REFS_DIE_ON_ERR);
> else { /* Merge has unresolved conflicts */
> const struct worktree *wt;
> /* Update .git/NOTES_MERGE_PARTIAL with partial merge result */
> - update_ref(msg.buf, "NOTES_MERGE_PARTIAL", result_oid.hash, NULL,
> + update_ref(msg.buf, "NOTES_MERGE_PARTIAL", &result_oid, NULL,
> 0, UPDATE_REFS_DIE_ON_ERR);
> /* Store ref-to-be-updated into .git/NOTES_MERGE_REF */
> wt = find_shared_symref("NOTES_MERGE_REF", default_notes_ref());
> diff --git a/builtin/pull.c b/builtin/pull.c
> index 6f772e8a22..9b2d67fe43 100644
> --- 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;
>
> return 0;
> diff --git a/builtin/reset.c b/builtin/reset.c
> index 5f3632e05b..d4003f76ab 100644
> --- a/builtin/reset.c
> +++ b/builtin/reset.c
> @@ -266,12 +266,12 @@ static int reset_refs(const char *rev, const struct object_id *oid)
> if (!get_oid("HEAD", &oid_orig)) {
> orig = &oid_orig;
> set_reflog_message(&msg, "updating ORIG_HEAD", NULL);
> - update_ref_oid(msg.buf, "ORIG_HEAD", orig, old_orig, 0,
> + update_ref(msg.buf, "ORIG_HEAD", orig, old_orig, 0,
> UPDATE_REFS_MSG_ON_ERR);
> } else if (old_orig)
> delete_ref(NULL, "ORIG_HEAD", old_orig, 0);
> set_reflog_message(&msg, "updating HEAD", rev);
> - update_ref_status = update_ref_oid(msg.buf, "HEAD", oid, orig, 0,
> + update_ref_status = update_ref(msg.buf, "HEAD", oid, orig, 0,
> UPDATE_REFS_MSG_ON_ERR);
> strbuf_release(&msg);
> return update_ref_status;
> diff --git a/builtin/update-ref.c b/builtin/update-ref.c
> index bf0f80ebae..f491cf1a92 100644
> --- a/builtin/update-ref.c
> +++ b/builtin/update-ref.c
> @@ -437,7 +437,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
> (oldval && !is_null_oid(&oldoid)) ? &oldoid : NULL,
> flags);
> else
> - return update_ref(msg, refname, oid.hash, oldval ? oldoid.hash : NULL,
> + return update_ref(msg, refname, &oid, oldval ? &oldoid : NULL,
> flags | create_reflog_flag,
> UPDATE_REFS_DIE_ON_ERR);
> }
> diff --git a/notes-cache.c b/notes-cache.c
> index 29b4cede5f..927b6645db 100644
> --- a/notes-cache.c
> +++ b/notes-cache.c
> @@ -59,8 +59,7 @@ int notes_cache_write(struct notes_cache *c)
> if (commit_tree(c->validity, strlen(c->validity), tree_oid.hash, NULL,
> commit_oid.hash, NULL, NULL) < 0)
> return -1;
> - if (update_ref("update notes cache", c->tree.update_ref, commit_oid.hash,
> - NULL, 0, UPDATE_REFS_QUIET_ON_ERR) < 0)
> + if (update_ref("update notes cache", c->tree.update_ref, &commit_oid, NULL, 0, UPDATE_REFS_QUIET_ON_ERR) < 0)
This line looks a little long.
> return -1;
>
> return 0;
> diff --git a/notes-utils.c b/notes-utils.c
> index 9765deb41a..3a7008948c 100644
> --- a/notes-utils.c
> +++ b/notes-utils.c
> @@ -49,7 +49,7 @@ void commit_notes(struct notes_tree *t, const char *msg)
>
> create_notes_commit(t, NULL, buf.buf, buf.len, commit_oid.hash);
> strbuf_insert(&buf, 0, "notes: ", 7); /* commit message starts at index 7 */
> - update_ref(buf.buf, t->update_ref, commit_oid.hash, NULL, 0,
> + update_ref(buf.buf, t->update_ref, &commit_oid, NULL, 0,
> UPDATE_REFS_DIE_ON_ERR);
>
> strbuf_release(&buf);
> diff --git a/refs.c b/refs.c
> index 0a5b68d6fb..66d66af126 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -574,8 +574,8 @@ long get_files_ref_lock_timeout_ms(void)
> return timeout_ms;
> }
>
> -static int write_pseudoref(const char *pseudoref, const unsigned char *sha1,
> - const unsigned char *old_sha1, struct strbuf *err)
> +static int write_pseudoref(const char *pseudoref, const struct object_id *oid,
> + const struct object_id *old_oid, struct strbuf *err)
> {
> const char *filename;
> int fd;
> @@ -583,7 +583,7 @@ static int write_pseudoref(const char *pseudoref, const unsigned char *sha1,
> struct strbuf buf = STRBUF_INIT;
> int ret = -1;
>
> - strbuf_addf(&buf, "%s\n", sha1_to_hex(sha1));
> + strbuf_addf(&buf, "%s\n", oid_to_hex(oid));
>
> filename = git_path("%s", pseudoref);
> fd = hold_lock_file_for_update_timeout(&lock, filename,
> @@ -595,12 +595,12 @@ static int write_pseudoref(const char *pseudoref, const unsigned char *sha1,
> goto done;
> }
>
> - if (old_sha1) {
> - unsigned char actual_old_sha1[20];
> + if (old_oid) {
> + struct object_id actual_old_oid;
>
> - if (read_ref(pseudoref, actual_old_sha1))
> + if (read_ref(pseudoref, actual_old_oid.hash))
> die("could not read ref '%s'", pseudoref);
> - if (hashcmp(actual_old_sha1, old_sha1)) {
> + if (oidcmp(&actual_old_oid, old_oid)) {
> strbuf_addf(err, "unexpected sha1 when writing '%s'", pseudoref);
> rollback_lock_file(&lock);
> goto done;
> @@ -985,17 +985,10 @@ 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);
> -}
After this deletion I think there are 2 empty lines, one of them can
probably be removed.
>
> int refs_update_ref(struct ref_store *refs, const char *msg,
> - const char *refname, const unsigned char *new_sha1,
> - const unsigned char *old_sha1, unsigned int flags,
> + const char *refname, const struct object_id *new_oid,
> + const struct object_id *old_oid, unsigned int flags,
> enum action_on_err onerr)
> {
> struct ref_transaction *t = NULL;
> @@ -1003,12 +996,12 @@ int refs_update_ref(struct ref_store *refs, const char *msg,
> int ret = 0;
>
> if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
> - assert(refs == get_main_ref_store());
> - ret = write_pseudoref(refname, new_sha1, old_sha1, &err);
> + ret = write_pseudoref(refname, new_oid, old_oid, &err);
> } else {
> t = ref_store_transaction_begin(refs, &err);
> if (!t ||
> - ref_transaction_update(t, refname, new_sha1, old_sha1,
> + ref_transaction_update(t, refname, new_oid ? new_oid->hash : NULL,
> + old_oid ? old_oid->hash : NULL,
> flags, msg, &err) ||
> ref_transaction_commit(t, &err)) {
> ret = 1;
> @@ -1038,12 +1031,12 @@ int refs_update_ref(struct ref_store *refs, const char *msg,
> }
>
> int update_ref(const char *msg, const char *refname,
> - const unsigned char *new_sha1,
> - const unsigned char *old_sha1,
> + const struct object_id *new_oid,
> + const struct object_id *old_oid,
> unsigned int flags, enum action_on_err onerr)
> {
> - return refs_update_ref(get_main_ref_store(), msg, refname, new_sha1,
> - old_sha1, flags, onerr);
> + return refs_update_ref(get_main_ref_store(), msg, refname, new_oid,
> + old_oid, flags, onerr);
> }
>
> char *shorten_unambiguous_ref(const char *refname, int strict)
> diff --git a/refs.h b/refs.h
> index 07e9907b31..369614d392 100644
> --- a/refs.h
> +++ b/refs.h
> @@ -636,12 +636,9 @@ void ref_transaction_free(struct ref_transaction *transaction);
> * argument.
> */
> int refs_update_ref(struct ref_store *refs, const char *msg, const char *refname,
> - const unsigned char *new_sha1, const unsigned char *old_sha1,
> + const struct object_id *new_oid, const struct object_id *old_oid,
> unsigned int flags, enum action_on_err onerr);
> int update_ref(const char *msg, const char *refname,
> - const unsigned char *new_sha1, const unsigned char *old_sha1,
> - unsigned int flags, enum action_on_err onerr);
> -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);
>
> diff --git a/sequencer.c b/sequencer.c
> index 60636ce54b..b349474bd3 100644
> --- 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))
> res = -1;
>
> if (res) {
> @@ -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);
> goto cleanup_head_ref;
> diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
> index 4624238641..af8dba9560 100644
> --- a/t/helper/test-ref-store.c
> +++ b/t/helper/test-ref-store.c
> @@ -233,15 +233,15 @@ static int cmd_update_ref(struct ref_store *refs, const char **argv)
> const char *new_sha1_buf = notnull(*argv++, "old-sha1");
> const char *old_sha1_buf = notnull(*argv++, "old-sha1");
> unsigned int flags = arg_flags(*argv++, "flags");
> - unsigned char old_sha1[20];
> - unsigned char new_sha1[20];
> + struct object_id old_oid;
> + struct object_id new_oid;
>
> - if (get_sha1_hex(old_sha1_buf, old_sha1) ||
> - get_sha1_hex(new_sha1_buf, new_sha1))
> + if (get_oid_hex(old_sha1_buf, &old_oid) ||
> + get_oid_hex(new_sha1_buf, &new_oid))
> die("not sha-1");
>
> return refs_update_ref(refs, msg, refname,
> - new_sha1, old_sha1,
> + &new_oid, &old_oid,
> flags, UPDATE_REFS_DIE_ON_ERR);
> }
>
> diff --git a/transport-helper.c b/transport-helper.c
> index c948d5215c..f183601261 100644
> --- a/transport-helper.c
> +++ b/transport-helper.c
> @@ -795,7 +795,8 @@ static int push_update_refs_status(struct helper_data *data,
> private = apply_refspecs(data->refspecs, data->refspec_nr, ref->name);
> if (!private)
> continue;
> - update_ref("update by helper", private, ref->new_oid.hash, NULL, 0, 0);
> + update_ref("update by helper", private, &ref->new_oid, NULL,
> + 0, 0);
> free(private);
> }
> strbuf_release(&buf);
> diff --git a/transport.c b/transport.c
> index fb8c01e57a..09bd06e6e5 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -305,8 +305,8 @@ void transport_update_tracking_ref(struct remote *remote, struct ref *ref, int v
> if (ref->deletion) {
> delete_ref(NULL, rs.dst, NULL, 0);
> } else
> - update_ref("update by push", rs.dst,
> - ref->new_oid.hash, NULL, 0, 0);
> + update_ref("update by push", rs.dst, &ref->new_oid,
> + NULL, 0, 0);
> free(rs.dst);
> }
> }
> --
> 2.14.2.822.g60be5d43e6
>
--
Brandon Williams
next prev parent reply other threads:[~2017-10-02 23:08 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 [this message]
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 ` [PATCH 15/24] refs: convert read_ref_at " brian m. carlson
2017-10-02 23:26 ` 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=20171002230816.GC5189@google.com \
--to=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=mhagger@alum.mit.edu \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.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).