diff --git a/swh/loader/svn/tests/test_utils.py b/swh/loader/svn/tests/test_utils.py --- a/swh/loader/svn/tests/test_utils.py +++ b/swh/loader/svn/tests/test_utils.py @@ -285,6 +285,17 @@ True, ), ), + ( + "^/../../skin-maker@21 third-party/skins/toolkit", + "trunk/externals", + "http://svn.example.org/repos/test", + ( + "third-party/skins/toolkit", + "http://svn.example.org/skin-maker", + 21, + True, + ), + ), ( "../skins skins", "trunk/externals", diff --git a/swh/loader/svn/utils.py b/swh/loader/svn/utils.py --- a/swh/loader/svn/utils.py +++ b/swh/loader/svn/utils.py @@ -235,6 +235,7 @@ # URL relative to the root of the repository in which the svn:externals # property is versioned external_url = svn_urljoin(repo_url, external_part[2:]) + relative_url = not external_url.startswith(repo_url) elif external_part.startswith("//"): # URL relative to the scheme of the URL of the directory on which the # svn:externals property is set