Skip to content

Commit bf73cff

Browse files
committed
fix(sidebar): let parent repo rows select the main worktree
1 parent a229645 commit bf73cff

3 files changed

Lines changed: 11 additions & 5 deletions

File tree

app/src/lib/stores/app-store.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2176,7 +2176,8 @@ export class AppStore extends TypedBaseStore<IAppState> {
21762176
/** This shouldn't be called directly. See `Dispatcher`. */
21772177
public async _selectRepository(
21782178
repository: Repository | CloningRepository | null,
2179-
persistSelection: boolean = true
2179+
persistSelection: boolean = true,
2180+
followPreferredWorktree: boolean = true
21802181
): Promise<Repository | null> {
21812182
const previouslySelectedRepository = this.selectedRepository
21822183

@@ -2212,7 +2213,7 @@ export class AppStore extends TypedBaseStore<IAppState> {
22122213
// When returning to a repository that has worktrees, restore the
22132214
// previously active linked worktree so the user doesn't always land
22142215
// on the main worktree after switching repos.
2215-
if (!repository.isLinkedWorktree) {
2216+
if (followPreferredWorktree && !repository.isLinkedWorktree) {
22162217
const repoPath = normalizePath(repository.path)
22172218
const preferredPath = getPreferredWorktreePath(repoPath)
22182219

app/src/ui/app.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3827,7 +3827,7 @@ export class App extends React.Component<IAppProps, IAppState> {
38273827
}
38283828

38293829
private onSelectionChanged = (repository: Repository | CloningRepository) => {
3830-
this.props.dispatcher.selectRepository(repository)
3830+
this.props.dispatcher.selectRepository(repository, true, false)
38313831
this.props.dispatcher.closeFoldout(FoldoutType.Repository)
38323832
}
38333833

app/src/ui/dispatcher/dispatcher.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,14 @@ export class Dispatcher {
314314
/** Select the repository. */
315315
public selectRepository(
316316
repository: Repository | CloningRepository,
317-
persistSelection: boolean = true
317+
persistSelection: boolean = true,
318+
followPreferredWorktree: boolean = true
318319
): Promise<Repository | null> {
319-
return this.appStore._selectRepository(repository, persistSelection)
320+
return this.appStore._selectRepository(
321+
repository,
322+
persistSelection,
323+
followPreferredWorktree
324+
)
320325
}
321326

322327
/** Change the selected section in the repository. */

0 commit comments

Comments
 (0)