diff --git a/src/commands/ghpr/createWorktree.ts b/src/commands/ghpr/createWorktree.ts index a93d993..cfdf04c 100644 --- a/src/commands/ghpr/createWorktree.ts +++ b/src/commands/ghpr/createWorktree.ts @@ -81,7 +81,7 @@ export class CreateWorktreeCommand extends Command { const remoteUrl = remoteUri.toString(); let remote: GitRemote | undefined; - [remote] = await repo.getRemotes({ filter: r => r.url === remoteUrl }); + [remote] = await repo.getRemotes({ filter: r => r.matches(remoteUrl) }); if (remote == null) { const result = await window.showInformationMessage( `Unable to find a remote for '${remoteUrl}'. Would you like to add a new remote?`, diff --git a/src/git/models/remote.ts b/src/git/models/remote.ts index c0f6443..009f92e 100644 --- a/src/git/models/remote.ts +++ b/src/git/models/remote.ts @@ -2,8 +2,10 @@ import type { ColorTheme } from 'vscode'; import { Uri, window } from 'vscode'; import { GlyphChars } from '../../constants'; import { Container } from '../../container'; -import { sortCompare } from '../../system/string'; +import { memoize } from '../../system/decorators/memoize'; +import { equalsIgnoreCase, sortCompare } from '../../system/string'; import { isLightTheme } from '../../system/utils'; +import { parseGitRemoteUrl } from '../parsers/remoteParser'; import type { RemoteProvider } from '../remotes/remoteProvider'; import type { RichRemoteProvider } from '../remotes/richRemoteProvider'; @@ -68,6 +70,7 @@ export class GitRemote