git-url-parse
git-url-parse copied to clipboard
Versions > 1.2.0 break handling of branch name in URL
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'
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.