This is state is already kind-of supported via git machete slide-out --removed-from-remote. In this command, a branch is considered removed from remote when both conditions are true:
- git config key
branch.BRANCH.merge is set
- remote branch pointed by this git config key doesn't exist in
refs/remotes.
More precisely, slide-out --removed-from-remote only slides out a removed-from-remote branch when it also doesn't have any downstream branches.
Currently, such branches are just considered untracked in every context other than slide-out --removed-from-remote.
This new state would need to be handled in:
status
traverse (suggest sliding out, not pushing; also, don't suggest creating a PR/MR)
git{hub,lab} create-{pr,mr} — TBD what to do with such branches.
- IntelliJ plugin.
This is state is already kind-of supported via
git machete slide-out --removed-from-remote. In this command, a branch is considered removed from remote when both conditions are true:branch.BRANCH.mergeis setrefs/remotes.More precisely,
slide-out --removed-from-remoteonly slides out a removed-from-remote branch when it also doesn't have any downstream branches.Currently, such branches are just considered untracked in every context other than
slide-out --removed-from-remote.This new state would need to be handled in:
statustraverse(suggest sliding out, not pushing; also, don't suggest creating a PR/MR)git{hub,lab} create-{pr,mr}— TBD what to do with such branches.