github / github/gh-stack

Stacking should handle rebases performed outside of gh stack

Ouverte
#193 3 commentaires 6 réactions 0 personnes assignées Voir sur GitHub
feature request topic: cli - general
Langage dominant
Go
Étoiles
1.5k
Forks
70
Merge moyen
1 j 8 h
PR mergées (30 j)
7

Description

Let's say I have

```
trunk: AA1
branch1: BB1
branch2: CC1
```

The stack JSON will look something like this

```
{
"schemaVersion": 1,
"stacks": [{
"trunk": {
"branch": "master",
"head": "AA1"
},
"branches": [{
"branch": "branch1",
"head": "BB1",
"base": "AA1",
"pullRequest": {
// ...
}
}, {
"branch": "branch2",
"head": "CC1",
"base": "BB1",
"pullRequest": {
// ..
}
}
]
}
]
}
```

If I now perform an interactive rebase (**outside of gh stack**) - e.g. to _remove_ the head commit from branch1, or if I do something like `git reset HEAD^1 --hard` **from a branch1 checkout**, the stack has no knowledge of what has happened.

If I view the stack, there's now one fewer commit on branch1 (as expected) **but one extra commit on branch2**. I'd like / expect that commit to have been removed entirely from the stack.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduce the stack with trunk, branch1, and branch2, then rebase or run `git reset HEAD^1 --hard` from the branch1 checkout and inspect the resulting stack view and JSON. Trace how gh stack detects branch bases and commit changes; done means commits removed from an upstream branch are not retained as extra commits in descendant branches.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
git, go
Domaine
cli, developer-experience
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.