Skip to content
  • Jonathan Tan's avatar
    wt-status: tolerate dangling marks · f24c30e0
    Jonathan Tan authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    When a user checks out the upstream branch of HEAD, the upstream branch
    not being a local branch, and then runs "git status", like this:
    
      git clone $URL client
      cd client
      git checkout @{u}
      git status
    
    no status is printed, but instead an error message:
    
      fatal: HEAD does not point to a branch
    
    (This error message when running "git branch" persists even after
    checking out other things - it only stops after checking out a branch.)
    
    This is because "git status" reads the reflog when determining the "HEAD
    detached" message, and thus attempts to DWIM "@{u}", but that doesn't
    work because HEAD no longer points to a branch.
    
    Therefore, when calculating the status of a worktree, tolerate dangling
    marks. This is done by adding an additional parameter to
    dwim_ref() and repo_dwim_ref().
    
    Signed-off-by: default avatarJonathan Tan <jonathantanmy@google.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    f24c30e0