Support bare worktrees where worktree does not have its own .git file

This was on oversight on my part: I assumed that the --work-tree arg was
always intended for use with linked worktrees which have a .git file
pointing back to the repo.

I'm honestly confused now: seems like there are three kinds of worktrees:
* the main worktree of a non-bare repo
* a linked worktree (with its own gitdir in the repo's worktrees/ dir)
* a random folder which you specify as a worktree with the --work-tree arg

I'm pretty sure the --work-tree arg is only intended to be used with this
third kind or workree
This commit is contained in:
Jesse Duffield 2023-08-07 22:08:12 +10:00
parent 0551f29de9
commit 595e28d335
6 changed files with 42 additions and 23 deletions

View file

@ -145,7 +145,7 @@ func (self *ReposHelper) DispatchSwitchToRepo(path string, contextKey types.Cont
func (self *ReposHelper) DispatchSwitchTo(path string, errMsg string, contextKey types.ContextKey) error {
return self.c.WithWaitingStatus(self.c.Tr.Switching, func(gocui.Task) error {
env.UnsetGitDirEnv()
env.UnsetGitLocationEnvVars()
originalPath, err := os.Getwd()
if err != nil {
return nil