summaryrefslogtreecommitdiffstats
path: root/src/pyfedpkg
diff options
context:
space:
mode:
Diffstat (limited to 'src/pyfedpkg')
-rw-r--r--src/pyfedpkg/__init__.py7
-rwxr-xr-xsrc/pyfedpkg/initial_merge.py10
2 files changed, 15 insertions, 2 deletions
diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py
index 51982ea..9c76fc0 100644
--- a/src/pyfedpkg/__init__.py
+++ b/src/pyfedpkg/__init__.py
@@ -31,8 +31,6 @@ import OpenSSL
import fnmatch
import offtrac
-from . import initial_merge
-
# Define some global variables, put them here to make it easy to change
LOOKASIDE = 'http://pkgs.fedoraproject.org/repo/pkgs'
@@ -50,6 +48,11 @@ BRANCHFILTER = 'f\d\d\/master|master|el\d\/master|olpc\d\/master'
class FedpkgError(Exception):
pass
+
+# This module needs FedpkgError to be defined
+from . import initial_merge
+
+
# Setup our logger
# Null logger to avoid spurrious messages, add a handler in app code
class NullHandler(logging.Handler):
diff --git a/src/pyfedpkg/initial_merge.py b/src/pyfedpkg/initial_merge.py
index 4964745..f22453f 100755
--- a/src/pyfedpkg/initial_merge.py
+++ b/src/pyfedpkg/initial_merge.py
@@ -169,7 +169,17 @@ class Filter(object):
self.branch_list = [item]
+class UnknownRepoTypeError(pyfedpkg.FedpkgError):
+ pass
+
+
def handle_repo(repo, dry_run=False):
+ if type(repo) == str:
+ repo = git.Repo(repo)
+ elif isinstance(repo, git.Repo):
+ pass
+ else:
+ raise UnknownRepoTypeError("%s" % repo)
log.info("######## initial-merge %s ########" % repo.working_tree_dir)
_locals, remotes = pyfedpkg._list_branches(repo=repo)
aa = [ Branch(repo.git.rev_parse('%s^{tree}' % b), b) for b in remotes ]