Browse Source

set_worktree_head_symref(): fix error message

Emit an informative error when failed to hold lock of HEAD.

2233066e (refs: add a new function set_worktree_head_symref,
2016-03-27) added set_worktree_head_symref(), but this is missing a
call to unable_to_lock_message() after hold_lock_file_for_update()
fails, so it emits an empty error message:

  % git branch -m oldname newname
  error:
  error: HEAD of working tree /path/to/wt is not updated
  fatal: Branch renamed to newname, but HEAD is not updated!

Thanks to Eric Sunshine for pointing this out.

Signed-off-by: Kazuki Yamaguchi <k@rhe.jp>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Kazuki Yamaguchi 9 years ago committed by Junio C Hamano
parent
commit
18eb3a9ce7
  1. 3
      refs/files-backend.c

3
refs/files-backend.c

@ -2898,7 +2898,6 @@ int set_worktree_head_symref(const char *gitdir, const char *target) @@ -2898,7 +2898,6 @@ int set_worktree_head_symref(const char *gitdir, const char *target)
{
static struct lock_file head_lock;
struct ref_lock *lock;
struct strbuf err = STRBUF_INIT;
struct strbuf head_path = STRBUF_INIT;
const char *head_rel;
int ret;
@ -2906,6 +2905,8 @@ int set_worktree_head_symref(const char *gitdir, const char *target) @@ -2906,6 +2905,8 @@ int set_worktree_head_symref(const char *gitdir, const char *target)
strbuf_addf(&head_path, "%s/HEAD", absolute_path(gitdir));
if (hold_lock_file_for_update(&head_lock, head_path.buf,
LOCK_NO_DEREF) < 0) {
struct strbuf err = STRBUF_INIT;
unable_to_lock_message(head_path.buf, errno, &err);
error("%s", err.buf);
strbuf_release(&err);
strbuf_release(&head_path);

Loading…
Cancel
Save