The problem

due to origin being default remote, opening issue/PR on gitlens constantly opens the nonexistent link on fork.

this can be addressed by manually setting default remote to upstream in REMOTES pane, but it would be more ergonomic to do it automatically since forks have upstream remote.
Steps to reproduce
Prerequisites
Actual result
- autolink in a blame pop-up goes to
origin:
- if a commit is linked to the PR it links to
origin as well.
Explanation
It's in sorting.ts where origin goes earlier than upstream
export function sortRemotes<T extends GitRemote>(remotes: T[]): T[] {
return remotes.sort(
(a, b) =>
(a.default ? -1 : 1) - (b.default ? -1 : 1) ||
(a.name === 'origin' ? -1 : 1) - (b.name === 'origin' ? -1 : 1) ||
(a.name === 'upstream' ? -1 : 1) - (b.name === 'upstream' ? -1 : 1) ||
sortCompare(a.name, b.name),
);
}
Then it goes to hovers.ts where the first remote is taken:
remotes = remotesResult.value;
[remote] = remotes;
The proposal
Let user configure a default remote name that would go before origin. Or even let user configure a preferred sequence so it would work like: const preferredRemoteNames = getConfigured() ?? ['origin', 'upstream']
The problem
due to
originbeing default remote, opening issue/PR on gitlens constantly opens the nonexistent link on fork.this can be addressed by manually setting default remote to
upstreaminREMOTESpane, but it would be more ergonomic to do it automatically since forks haveupstreamremote.Steps to reproduce
Prerequisites
Actual result
origin:originas well.Explanation
It's in sorting.ts where
origingoes earlier thanupstreamThen it goes to hovers.ts where the first remote is taken:
The proposal
Let user configure a default remote name that would go before
origin. Or even let user configure a preferred sequence so it would work like:const preferredRemoteNames = getConfigured() ?? ['origin', 'upstream']