From 53b4d4e7011fa508affa494da6bb1292dbb8d2a9 Mon Sep 17 00:00:00 2001 From: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com> Date: Wed, 19 Mar 2025 20:47:31 +0100 Subject: [PATCH] Git - include ahead/behind information in all branch pickers (#244036) --- extensions/git/src/commands.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 6bd5aad7836..75b0f00a8ec 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -108,7 +108,7 @@ class RefItem implements QuickPickItem { constructor(protected readonly ref: Ref) { } } -class CheckoutItem extends RefItem { +class BranchItem extends RefItem { override get description(): string { const description: string[] = []; @@ -125,7 +125,9 @@ class CheckoutItem extends RefItem { constructor(override readonly ref: Branch) { super(ref); } +} +class CheckoutItem extends BranchItem { async run(repository: Repository, opts?: { detached?: boolean }): Promise { if (!this.ref.name) { return; @@ -144,7 +146,6 @@ class CheckoutProtectedItem extends CheckoutItem { override get label(): string { return `$(lock) ${this.ref.name ?? this.shortCommit}`; } - } class CheckoutRemoteHeadItem extends RefItem { @@ -180,7 +181,7 @@ class CheckoutTagItem extends RefItem { } } -class BranchDeleteItem extends RefItem { +class BranchDeleteItem extends BranchItem { async run(repository: Repository, force?: boolean): Promise { if (this.ref.type === RefType.Head && this.refName) { @@ -214,7 +215,7 @@ class RemoteTagDeleteItem extends RefItem { } } -class MergeItem extends RefItem { +class MergeItem extends BranchItem { async run(repository: Repository): Promise { if (this.ref.name || this.ref.commit) { @@ -223,7 +224,7 @@ class MergeItem extends RefItem { } } -class RebaseItem extends RefItem { +class RebaseItem extends BranchItem { async run(repository: Repository): Promise { if (this.ref?.name) {