fix: only strip optional '.git' suffix from https server remote name and not 'Xgit' (#1257)

This commit is contained in:
campersau 2022-09-28 05:35:31 +02:00 committed by GitHub
parent 3f9dbd5a76
commit ddab646771
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 1319 additions and 1301 deletions

View file

@ -56,6 +56,24 @@ describe('utils tests', () => {
)
expect(remote4.protocol).toEqual('HTTPS')
expect(remote4.repository).toEqual('peter-evans/create-pull-request')
const remote5 = utils.getRemoteDetail(
'https://github.com/peter-evans/ungit'
)
expect(remote5.protocol).toEqual('HTTPS')
expect(remote5.repository).toEqual('peter-evans/ungit')
const remote6 = utils.getRemoteDetail(
'https://github.com/peter-evans/ungit.git'
)
expect(remote6.protocol).toEqual('HTTPS')
expect(remote6.repository).toEqual('peter-evans/ungit')
const remote7 = utils.getRemoteDetail(
'git@github.com:peter-evans/ungit.git'
)
expect(remote7.protocol).toEqual('SSH')
expect(remote7.repository).toEqual('peter-evans/ungit')
})
test('getRemoteDetail fails to parse a remote URL', async () => {

2598
dist/index.js vendored

File diff suppressed because it is too large Load diff

View file

@ -47,11 +47,11 @@ export function getRemoteDetail(remoteUrl: string): RemoteDetail {
}
const httpsUrlPattern = new RegExp(
'^https?://.*@?' + githubServerMatch[1] + '/(.+/.+?)(.git)?$',
'^https?://.*@?' + githubServerMatch[1] + '/(.+/.+?)(\\.git)?$',
'i'
)
const sshUrlPattern = new RegExp(
'^git@' + githubServerMatch[1] + ':(.+/.+).git$',
'^git@' + githubServerMatch[1] + ':(.+/.+)\\.git$',
'i'
)