microsoft / microsoft/vscode-pull-request-github
Don't fetch every branch in contributor's remote when checking out a pull request
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2.6k
- Forks
- 795
- Merge moyen
- 1 j 4 h
- PR mergées (30 j)
- 46
Description
Thanks for this very nice extension!! It is really nice to review code in my code editor:)
I noticed that when I clicked the blue "Checkout" button in the pull request tab, the following happens:
- The extension adds a remote named after the GitHub username of the pull-request author (this remote is not deleted when I "Exit review mode")
- This new remote is fetched (this creates remote-tracking branches for all branches in the contributor's remote)
- The the source branch of the pull request is checked out (this branch is not deleted when I "Exit review mode")
I don't like 2), it pollutes the output of git branch -r.
I think the extension should only fetch the branch of the pull request, i.e.
git fetch $PR_AUTHOR_REMOTE_URL $PR_BRANCH:refs/heads/pr/$AUTHOR_GITHUB_USERNAME/$PR_NUMBER
In fact, adding a remote is not even necessary as Git can fetch a branch directly into FETCH_HEAD, and we can the checkout FETCH_HEADin detached HEAD.
I understand the current behaviour might be convenient for some, but maybe it could be configurable ?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le flux de Checkout de l’onglet pull request et suivez la manière dont il ajoute le remote du contributor, le récupère et effectue le checkout de la branche source. Comparez ce comportement avec le fetch limité à la branche et le detached checkout proposés dans l’issue, puis identifiez les tests existants pour le checkout en mode review ; c’est terminé lorsque les branches du contributor sans rapport n’apparaissent plus dans git branch -r et que le nettoyage fonctionne toujours.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- git, typescript
- Domaine
- developer-experience, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100