Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-giturlparse for openSUSE:Factory checked in at 2026-06-28 21:06:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-giturlparse (Old) and /work/SRC/openSUSE:Factory/.python-giturlparse.new.11887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-giturlparse" Sun Jun 28 21:06:38 2026 rev:2 rq:1362012 version:0.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-giturlparse/python-giturlparse.changes 2026-03-06 18:19:01.009215393 +0100 +++ /work/SRC/openSUSE:Factory/.python-giturlparse.new.11887/python-giturlparse.changes 2026-06-28 21:07:10.251361435 +0200 @@ -1,0 +2,9 @@ +Sat Jun 27 16:04:42 UTC 2026 - Dirk Müller <[email protected]> + +- update to 0.15.0: + * Fix path and branch extraction removing every /blob/ and + /tree/ occurrence instead of only the leading marker, which + corrupted file paths and branch names containing those + segments. + +------------------------------------------------------------------- Old: ---- giturlparse-0.14.0.tar.gz New: ---- giturlparse-0.15.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-giturlparse.spec ++++++ --- /var/tmp/diff_new_pack.pRhkj3/_old 2026-06-28 21:07:10.887382866 +0200 +++ /var/tmp/diff_new_pack.pRhkj3/_new 2026-06-28 21:07:10.891383001 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-giturlparse # -# Copyright (c) 2026 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,17 +17,17 @@ Name: python-giturlparse -Version: 0.14.0 +Version: 0.15.0 Release: 0 Summary: A Git URL parsing module (supports parsing and rewriting) License: Apache-2.0 URL: https://github.com/nephila/giturlparse Source: https://files.pythonhosted.org/packages/source/g/giturlparse/giturlparse-%{version}.tar.gz -BuildRequires: python-rpm-macros BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 40.6.0} BuildRequires: %{python_module wheel} BuildRequires: fdupes +BuildRequires: python-rpm-macros BuildArch: noarch %python_subpackages ++++++ giturlparse-0.14.0.tar.gz -> giturlparse-0.15.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/AUTHORS.rst new/giturlparse-0.15.0/AUTHORS.rst --- old/giturlparse-0.14.0/AUTHORS.rst 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/AUTHORS.rst 2026-06-16 09:28:27.000000000 +0200 @@ -27,3 +27,4 @@ * Maciej Katafiasz * Tamika Nomara * non7top +* patchwright diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/HISTORY.rst new/giturlparse-0.15.0/HISTORY.rst --- old/giturlparse-0.14.0/HISTORY.rst 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/HISTORY.rst 2026-06-16 09:28:27.000000000 +0200 @@ -6,6 +6,15 @@ .. towncrier release notes start +0.15.0 (2026-06-16) +=================== + +Bugfixes +-------- + +- Fix ``path`` and ``branch`` extraction removing *every* ``/blob/`` and ``/tree/`` occurrence instead of only the leading marker, which corrupted file paths and branch names containing those segments. (#150) + + 0.14.0 (2025-10-22) =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/PKG-INFO new/giturlparse-0.15.0/PKG-INFO --- old/giturlparse-0.14.0/PKG-INFO 2025-10-22 11:21:07.018554400 +0200 +++ new/giturlparse-0.15.0/PKG-INFO 2026-06-16 09:28:50.451465000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: giturlparse -Version: 0.14.0 +Version: 0.15.0 Summary: A Git URL parsing module (supports parsing and rewriting) Home-page: https://github.com/nephila/giturlparse Author: Aaron O Mullan @@ -146,6 +146,15 @@ .. towncrier release notes start +0.15.0 (2026-06-16) +=================== + +Bugfixes +-------- + +- Fix ``path`` and ``branch`` extraction removing *every* ``/blob/`` and ``/tree/`` occurrence instead of only the leading marker, which corrupted file paths and branch names containing those segments. (#150) + + 0.14.0 (2025-10-22) =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/giturlparse/__init__.py new/giturlparse-0.15.0/giturlparse/__init__.py --- old/giturlparse-0.14.0/giturlparse/__init__.py 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/giturlparse/__init__.py 2026-06-16 09:28:27.000000000 +0200 @@ -3,7 +3,7 @@ __author__ = "Iacopo Spalletti" __email__ = "[email protected]" -__version__ = "0.14.0" +__version__ = "0.15.0" def parse(url, check_domain=True): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/giturlparse/platforms/github.py new/giturlparse-0.15.0/giturlparse/platforms/github.py --- old/giturlparse-0.14.0/giturlparse/platforms/github.py 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/giturlparse/platforms/github.py 2026-06-16 09:28:27.000000000 +0200 @@ -34,7 +34,7 @@ def clean_data(data): data = BasePlatform.clean_data(data) if data["path_raw"].startswith("/blob/"): - data["path"] = data["path_raw"].replace("/blob/", "") + data["path"] = data["path_raw"][len("/blob/") :] if data["path_raw"].startswith("/tree/"): - data["branch"] = data["path_raw"].replace("/tree/", "") + data["branch"] = data["path_raw"][len("/tree/") :] return data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/giturlparse/platforms/gitlab.py new/giturlparse-0.15.0/giturlparse/platforms/gitlab.py --- old/giturlparse-0.14.0/giturlparse/platforms/gitlab.py 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/giturlparse/platforms/gitlab.py 2026-06-16 09:28:27.000000000 +0200 @@ -38,9 +38,9 @@ def clean_data(data): data = BasePlatform.clean_data(data) if data["path_raw"].startswith("/blob/"): - data["path"] = data["path_raw"].replace("/blob/", "") + data["path"] = data["path_raw"][len("/blob/") :] if data["path_raw"].startswith("/-/blob/"): - data["path"] = data["path_raw"].replace("/-/blob/", "") + data["path"] = data["path_raw"][len("/-/blob/") :] if data["path_raw"].startswith("/-/tree/"): - data["branch"] = data["path_raw"].replace("/-/tree/", "") + data["branch"] = data["path_raw"][len("/-/tree/") :] return data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/giturlparse/tests/test_parse.py new/giturlparse-0.15.0/giturlparse/tests/test_parse.py --- old/giturlparse-0.14.0/giturlparse/tests/test_parse.py 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/giturlparse/tests/test_parse.py 2026-06-16 09:28:27.000000000 +0200 @@ -484,6 +484,80 @@ ( "HTTPS", ( + # Regression: a file path that itself contains a "blob" directory must + # not have the inner "/blob/" stripped (only the leading marker). + "https://github.com/nephila/giturlparse/blob/master/giturlparse/blob/data.py", + { + "host": "github.com", + "resource": "github.com", + "port": "", + "user": "git", + "owner": "nephila", + "repo": "giturlparse", + "name": "giturlparse", + "groups": [], + "path": "master/giturlparse/blob/data.py", + "path_raw": "/blob/master/giturlparse/blob/data.py", + "pathname": "/nephila/giturlparse/blob/master/giturlparse/blob/data.py", + "branch": "", + "protocol": "https", + "protocols": ["https"], + "platform": "github", + }, + ), + ), + ( + "HTTPS", + ( + # Regression: a branch name containing "/tree/" must be preserved + # in full rather than having every "/tree/" removed. + "https://github.com/nephila/giturlparse/tree/feature/tree/x", + { + "host": "github.com", + "resource": "github.com", + "port": "", + "user": "git", + "owner": "nephila", + "repo": "giturlparse", + "name": "giturlparse", + "groups": [], + "path": "", + "path_raw": "/tree/feature/tree/x", + "pathname": "/nephila/giturlparse/tree/feature/tree/x", + "branch": "feature/tree/x", + "protocol": "https", + "protocols": ["https"], + "platform": "github", + }, + ), + ), + ( + "HTTPS", + ( + # Regression (GitLab): inner "/blob/" in the file path must survive. + "https://gitlab.com/nephila/giturlparse/-/blob/master/giturlparse/blob/data.py", + { + "host": "gitlab.com", + "resource": "gitlab.com", + "port": "", + "user": "git", + "owner": "nephila", + "repo": "giturlparse", + "name": "giturlparse", + "groups": [], + "path": "master/giturlparse/blob/data.py", + "path_raw": "/-/blob/master/giturlparse/blob/data.py", + "pathname": "/nephila/giturlparse/-/blob/master/giturlparse/blob/data.py", + "branch": "", + "protocol": "https", + "protocols": ["https"], + "platform": "gitlab", + }, + ), + ), + ( + "HTTPS", + ( "https://github.com/nephila/giturlparse/tree/feature/py37", { "host": "github.com", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/giturlparse.egg-info/PKG-INFO new/giturlparse-0.15.0/giturlparse.egg-info/PKG-INFO --- old/giturlparse-0.14.0/giturlparse.egg-info/PKG-INFO 2025-10-22 11:21:06.000000000 +0200 +++ new/giturlparse-0.15.0/giturlparse.egg-info/PKG-INFO 2026-06-16 09:28:50.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: giturlparse -Version: 0.14.0 +Version: 0.15.0 Summary: A Git URL parsing module (supports parsing and rewriting) Home-page: https://github.com/nephila/giturlparse Author: Aaron O Mullan @@ -146,6 +146,15 @@ .. towncrier release notes start +0.15.0 (2026-06-16) +=================== + +Bugfixes +-------- + +- Fix ``path`` and ``branch`` extraction removing *every* ``/blob/`` and ``/tree/`` occurrence instead of only the leading marker, which corrupted file paths and branch names containing those segments. (#150) + + 0.14.0 (2025-10-22) =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/giturlparse-0.14.0/pyproject.toml new/giturlparse-0.15.0/pyproject.toml --- old/giturlparse-0.14.0/pyproject.toml 2025-10-22 11:20:41.000000000 +0200 +++ new/giturlparse-0.15.0/pyproject.toml 2026-06-16 09:28:27.000000000 +0200 @@ -54,7 +54,7 @@ message = "Release {new_version}" commit_args = "--no-verify" tag = false -current_version = "0.14.0" +current_version = "0.15.0" parse = """(?x) (?P<major>[0-9]+) \\.(?P<minor>[0-9]+)
