diff --git a/src/git/actions/commit.ts b/src/git/actions/commit.ts index 03c63c2..65c83fc 100644 --- a/src/git/actions/commit.ts +++ b/src/git/actions/commit.ts @@ -593,6 +593,14 @@ export function showDetailsView( return Container.instance.commitDetailsView.show({ preserveFocus: preserveFocus }, opts); } +export function showGraphDetailsView( + commit: GitRevisionReference | GitCommit, + options?: { pin?: boolean; preserveFocus?: boolean; preserveVisibility?: boolean }, +): Promise { + const { preserveFocus, ...opts } = { ...options, commit: commit }; + return Container.instance.graphDetailsView.show({ preserveFocus: preserveFocus }, opts); +} + export async function showInCommitGraph( commit: GitRevisionReference | GitCommit, options?: { preserveFocus?: boolean }, diff --git a/src/plus/webviews/graph/graphWebview.ts b/src/plus/webviews/graph/graphWebview.ts index 0de3562..e3c4753 100644 --- a/src/plus/webviews/graph/graphWebview.ts +++ b/src/plus/webviews/graph/graphWebview.ts @@ -18,6 +18,7 @@ import { getContext, onDidChangeContext } from '../../../context'; import type { CommitSelectedEvent } from '../../../eventBus'; import { PlusFeatures } from '../../../features'; import * as BranchActions from '../../../git/actions/branch'; +import { showGraphDetailsView } from '../../../git/actions/commit'; import * as ContributorActions from '../../../git/actions/contributor'; import * as RepoActions from '../../../git/actions/repository'; import * as StashActions from '../../../git/actions/stash'; @@ -2123,6 +2124,10 @@ export class GraphWebviewProvider implements WebviewProvider { const ref = this.getGraphItemRef(item, 'revision'); if (ref == null) return Promise.resolve(); + if (this.host.isView()) { + return void showGraphDetailsView(ref, { preserveFocus: true, preserveVisibility: false }); + } + return executeCommand(Commands.ShowInDetailsView, { repoPath: ref.repoPath, refs: [ref.ref],