Ronnie Sahlberg wrote:
> --- a/builtin/replace.c
> +++ b/builtin/replace.c
[...]
> @@ -156,11 +157,12 @@ static int replace_object_sha1(const char *object_ref,
> else if (!force)
> die("replace ref '%s' already exists", ref);
>
> - lock = lock_any_ref_for_update(ref, prev, 0, NULL);
> - if (!lock)
> - die("%s: cannot lock the ref", ref);
> - if (write_ref_sha1(lock, repl, NULL) < 0)
> - die("%s: cannot update the ref", ref);
> + transaction = ref_transaction_begin();
> + if (!transaction ||
> + ref_transaction_update(transaction, ref, repl, prev,
> + 0, !is_null_sha1(prev)) ||
> + ref_transaction_commit(transaction, NULL, &err))
> + die("%s: failed to replace ref: %s", ref, err.buf);
This would write
fatal: refs/replace/09c779943364d893c190066c385e6112af421db3: failed to
replace ref: Cannot lock the ref
'refs/replace/09c779943364d893c190066c385e6112af421db3'.
Perhaps something like
$ git replace foo bar
fatal: replace foo: Cannot lock the ref
'refs/replace/09c779943364d893c190066c385e6112af421db3'.
would make sense (die("replace %s: %s", object_ref, err.buf)). Plain
$ git replace foo bar
fatal: Cannot lock the ref
'refs/replace/09c779943364d893c190066c385e6112af421db3'.
also seems fine (die("%s", err.buf)).
Thanks,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html