mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-03 00:57:52 +02:00
Fix the CurrentBranchName function
The function would return "head/branchname" when there was either a tag or a remote with the same name. While fixing this we slightly change the semantic of the function (and of determineCheckedOutBranchName, which calls it): for a detached head it now returns an empty string rather than the commit hash. I actually think this is better.
This commit is contained in:
@ -102,12 +102,10 @@ func (self *BranchCommands) CurrentBranchInfo() (BranchInfo, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CurrentBranchName get name of current branch
|
// CurrentBranchName get name of current branch. Returns empty string if HEAD is detached.
|
||||||
func (self *BranchCommands) CurrentBranchName() (string, error) {
|
func (self *BranchCommands) CurrentBranchName() (string, error) {
|
||||||
cmdArgs := NewGitCmd("rev-parse").
|
cmdArgs := NewGitCmd("branch").
|
||||||
Arg("--abbrev-ref").
|
Arg("--show-current").
|
||||||
Arg("--verify").
|
|
||||||
Arg("HEAD").
|
|
||||||
ToArgv()
|
ToArgv()
|
||||||
|
|
||||||
output, err := self.cmd.New(cmdArgs).DontLog().RunWithOutput()
|
output, err := self.cmd.New(cmdArgs).DontLog().RunWithOutput()
|
||||||
|
@ -308,7 +308,7 @@ func (self *RefreshHelper) determineCheckedOutBranchName() string {
|
|||||||
// In all other cases, get the branch name by asking git what branch is
|
// In all other cases, get the branch name by asking git what branch is
|
||||||
// checked out. Note that if we're on a detached head (for reasons other
|
// checked out. Note that if we're on a detached head (for reasons other
|
||||||
// than rebasing or bisecting, i.e. it was explicitly checked out), then
|
// than rebasing or bisecting, i.e. it was explicitly checked out), then
|
||||||
// this will return its hash.
|
// this will return an empty string.
|
||||||
if branchName, err := self.c.Git().Branch.CurrentBranchName(); err == nil {
|
if branchName, err := self.c.Git().Branch.CurrentBranchName(); err == nil {
|
||||||
return branchName
|
return branchName
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ var DoNotShowBranchMarkerForHeadCommit = NewIntegrationTest(NewIntegrationTestAr
|
|||||||
// Check that the local commits view does show a branch marker for the head commit
|
// Check that the local commits view does show a branch marker for the head commit
|
||||||
t.Views().Commits().
|
t.Views().Commits().
|
||||||
Lines(
|
Lines(
|
||||||
Contains("CI * three"), // don't want the star here
|
Contains("CI three"),
|
||||||
Contains("CI two"),
|
Contains("CI two"),
|
||||||
Contains("CI branch1 one"),
|
Contains("CI branch1 one"),
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user