diff options
Diffstat (limited to 'MgaRepo/rpmutil.py')
-rw-r--r-- | MgaRepo/rpmutil.py | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/MgaRepo/rpmutil.py b/MgaRepo/rpmutil.py index 08fcfd9..0fe6f81 100644 --- a/MgaRepo/rpmutil.py +++ b/MgaRepo/rpmutil.py @@ -1,9 +1,10 @@ from MgaRepo import Error, config from MgaRepo import mirror, layout, log, binrepo -from MgaRepo.git import GIT -from MgaRepo.svn import SVN from MgaRepo.simplerpm import SRPM from MgaRepo.util import execcmd, CommandError +from MgaRepo.git import GIT +from MgaRepo.svn import SVN +from MgaRepo.vcsutil import detectVCS from MgaRepo.command import default_parent import rpm import urllib.parse @@ -14,31 +15,6 @@ import glob import sys import os -def detectVCS(url): - if ':' in url: - protocol,uri = url.split(":") - if "svn" in protocol: - return SVN(url=url) - elif "git" in protocol: - return GIT(url=url) - elif "http" in protocol: - if uri.endswith(".git"): - return GIT(url=url) - elif "svn" in uri: - return SVN(url=url) - raise Error("Unknown protocol %s for %s" % (protocol, url)) - elif os.path.exists(url) and os.path.isdir(url): - while True: - url = os.path.abspath(url) - for vcs in (SVN, GIT): - vcsdir = os.path.join(url, vcs.vcs_dirname) - if os.path.exists(vcsdir) and os.path.isdir(vcsdir): - return vcs(path=url) - url = os.path.dirname(url) - if url == "/": - break - raise Error("No supported repository found at path: %s" % url) - def get_spec(pkgdirurl, targetdir=".", submit=False): svn = detectVCS(pkgdirurl) tmpdir = tempfile.mktemp() |