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.
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