git-url-parse icon indicating copy to clipboard operation
git-url-parse copied to clipboard

Versions > 1.2.0 break handling of branch name in URL

Open elgow opened this issue 5 years ago • 1 comments

Under version 1.2.0 I this URL which correctly specifies a branch, PROD, works fine:

In [1]: import giturlparse; giturlparse.parse('git+ssh://[email protected]_dept.uw.edu/uwmydept/my_repo.git@PROD')
Out[1]: Parsed(pathname='/uwmydept/my_repo.git', protocols=['git', 'ssh'], protocol='ssh', href='git+ssh://[email protected]_dept.uw.edu/uwmydept/my_repo.git@PROD', resource='gitlab.my_dept.uw.edu', user='git', port=None, name='my_repo', owner='uwmydept')

But under 1.2.1 or 1.2.2 it gets an error:

In [1]: import giturlparse; giturlparse.parse('git+ssh://[email protected]_dept.uw.edu/uwmydept/my_repo.git@PROD')

.....

~/.virtualenvs/my_dir/lib/python3.6/site-packages/giturlparse/parser.py in parse(self)
    102         else:
    103             msg = "Invalid URL '{}'".format(self._url)
--> 104             raise ParserError(msg)
    105
    106         return Parsed(**d)

ParserError: Invalid URL 'git+ssh://[email protected]_dept.uw.edu/uwmydept/my_repo.git@PROD'

elgow avatar Mar 29 '19 19:03 elgow

I'm not sure that was every "officially" working, since we do not parse out the branch name, and have no unit tests for this particular scenario. Feel free to submit a PR if you feel so inclined to support this functionality.

retr0h avatar Mar 29 '19 19:03 retr0h