microsoft / microsoft/vscode-pull-request-github

Request for `>GitHub Pull Requests: Forget Pull Request`

Open
#8,639 1 comment 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.6k
Forks
795
Avg merge
1d 4h
Merged PRs (30d)
46

Description

When I create a pull request, my workflow is typically:

  • Create a branch, feature/foo
  • Do work
  • Create a pull request associated with feature/foo
  • Get a review from a colleague
  • Look at the review on GitHub
  • Merge the pull request from GitHub

This leaves my local state in an awkward scenario. I need to:

  • Switch to main
  • Pull main
  • Delete my feature/foo branch

I can do this manually, but this is such a common workflow of mine that I feel like a command for this is somehow missing. In R, we've created a suite of PR related helpers for this and the relevant one is usethis::pr_finish(), which does these exact steps.

The closest I can seem to get is:

  • >GitHub Pull Requests: Checkout Default Branch
  • With "githubPullRequests.postDone": "checkoutDefaultBranchAndPull"

(I'm not even 100% sure that a pull occurs when you use the command, but I think it does)

This accomplishes the first 2 bullets, but not the 3rd, so I have to go delete feature/foo myself.

I think I am missing something like

>GitHub Pull Requests: Forget Pull Request

Which has the purpose of:

  • Checkout the default branch (subject to githubPullRequests.postDone so I can make it also pull)
  • Delete the current branch you switched from

I would use this all the time if it existed as a way to cleanup after a merge via the GitHub UI.


I am aware of "githubPullRequests.deleteBranchAfterMerge": true. I do not believe that solves my problem because I almost exclusively merge via the GitHub UI, and it only works if I merge via the Extension UI.


It's also worth noting that if I checkout someone else's PR to perform a review, then it mostly works as I expect.

  • Checkout colleague PR feature/bar using the GitHub Pull Request extension
  • Leave my review
  • Click Checkout Default Branch (with "githubPullRequests.postDone": "checkoutDefaultBranchAndPull" set)
  • This auto deletes feature/bar for me

This workflow is quite nice! I want something similar for finishing off my own PRs.

Here is a video of me doing that workflow, which I do like:

https://github.com/user-attachments/assets/ff6a07e6-7ae5-4d8b-a447-91d51c96b597

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing Checkout Default Branch command and the githubPullRequests.postDone and githubPullRequests.deleteBranchAfterMerge settings. The feature is complete when a merged pull request can return to the default branch, apply the configured pull behavior, and delete the previously checked-out branch.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, typescript
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.