Skip to content

Commit 6f30673

Browse files
authored
Fix checking out PRs with a local branch but no upstream (#6587)
1 parent 28c8580 commit 6f30673

3 files changed

Lines changed: 7 additions & 5 deletions

File tree

src/view/treeNodes/descriptionNode.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ export class DescriptionNode extends TreeNode implements vscode.TreeItem {
2020
label: string,
2121
public readonly pullRequestModel: PullRequestModel,
2222
public readonly repository: Repository,
23-
private readonly folderRepositoryManager: FolderRepositoryManager
23+
private readonly folderRepositoryManager: FolderRepositoryManager,
24+
private isLocal: boolean
2425
) {
2526
super(parent);
2627
this.label = label;
@@ -46,6 +47,6 @@ export class DescriptionNode extends TreeNode implements vscode.TreeItem {
4647
(currentBranchIsForThisPR ? ':active' : ':nonactive') +
4748
(this.pullRequestModel.hasChangesSinceLastReview ? ':hasChangesSinceReview' : '') +
4849
(this.pullRequestModel.showChangesSinceReview ? ':showingChangesSinceReview' : ':showingAllChanges') +
49-
((this.pullRequestModel.item.isRemoteHeadDeleted || !this.folderRepositoryManager.isPullRequestAssociatedWithOpenRepository(this.pullRequestModel)) ? '' : ':hasHeadRef');
50+
(((this.pullRequestModel.item.isRemoteHeadDeleted && !this.isLocal) || !this.folderRepositoryManager.isPullRequestAssociatedWithOpenRepository(this.pullRequestModel)) ? '' : ':hasHeadRef');
5051
}
5152
}

src/view/treeNodes/pullRequestNode.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ export class PRNode extends TreeNode implements vscode.CommentingRangeProvider2
7171
vscode.l10n.t('Description'),
7272
this.pullRequestModel,
7373
this.repository,
74-
this._folderReposManager
74+
this._folderReposManager,
75+
this._isLocal
7576
);
7677

7778
if (!this.pullRequestModel.isResolved()) {
@@ -305,7 +306,7 @@ export class PRNode extends TreeNode implements vscode.CommentingRangeProvider2
305306
(this._isLocal ? ':local' : '') +
306307
(currentBranchIsForThisPR ? ':active' : ':nonactive') +
307308
(hasNotification ? ':notification' : '') +
308-
((this.pullRequestModel.item.isRemoteHeadDeleted || !this._folderReposManager.isPullRequestAssociatedWithOpenRepository(this.pullRequestModel)) ? '' : ':hasHeadRef'),
309+
(((this.pullRequestModel.item.isRemoteHeadDeleted && !this._isLocal) || !this._folderReposManager.isPullRequestAssociatedWithOpenRepository(this.pullRequestModel)) ? '' : ':hasHeadRef'),
309310
iconPath: (await DataUri.avatarCirclesAsImageDataUris(this._folderReposManager.context, [this.pullRequestModel.author], 16, 16))[0]
310311
?? new vscode.ThemeIcon('github'),
311312
accessibilityInformation: {

src/view/treeNodes/repositoryChangesNode.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class RepositoryChangesNode extends DescriptionNode implements vscode.Tre
2929
private _reviewModel: ReviewModel,
3030
private _progress: ProgressHelper
3131
) {
32-
super(parent, pullRequest.title, pullRequest, _pullRequestManager.repository, _pullRequestManager);
32+
super(parent, pullRequest.title, pullRequest, _pullRequestManager.repository, _pullRequestManager, true);
3333
// Cause tree values to be filled
3434
this.getTreeItem();
3535

0 commit comments

Comments
 (0)