gitext-rs / git-stack

Stacked branch management for Git
Apache License 2.0
496 stars 19 forks source link

fix(git): Issues from tracking remotes #212

Closed epage closed 2 years ago

epage commented 2 years ago

When tracking remotes for #12, we had a couple of regressions.

First, we might treat the local and remote branches as separate bases. So instead we are switching to only protecting remote branches when a local branch is present. This should implement the majority of #12's remaining work.

Second, we lost the tracking of the "pull range". We want to understand what commits were skipped when fast forwarding the local base branch onto the remote. We did this by having the local branch be the base / protected. We then compared the local .id to the .pull_id.

By switching to protecting (and making the base) the remote branch, .id and .pull_id became the same. We could use --base and --onto instead but they'll be the same in the default case.

So instead when we infer --base or --onto, we look for the local (base) or remote (onto) equivalent of what we are inferring from.

Fixes #12