aboutsummaryrefslogtreecommitdiff
path: root/app/tasks/importtasks.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-08-31 22:09:19 +0100
committerrubenwardy <rw@rubenwardy.com>2019-08-31 22:09:19 +0100
commitcc564af44e1fc7b03fa4d2c8d6b00a07aad7b539 (patch)
treece17af3749860c11c5e65c0f929e1c364a675143 /app/tasks/importtasks.py
parent655ed2255a10d8e05fcf48f9dfb803013968a397 (diff)
downloadcheatdb-cc564af44e1fc7b03fa4d2c8d6b00a07aad7b539.tar.xz
Fix broken reference based git importv1.16.5
Fixes #130
Diffstat (limited to 'app/tasks/importtasks.py')
-rw-r--r--app/tasks/importtasks.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/app/tasks/importtasks.py b/app/tasks/importtasks.py
index 108f1b3..a5328ad 100644
--- a/app/tasks/importtasks.py
+++ b/app/tasks/importtasks.py
@@ -299,15 +299,17 @@ def cloneRepo(urlstr, ref=None, recursive=False):
gitUrl = generateGitURL(urlstr)
print("Cloning from " + gitUrl)
repo = git.Repo.clone_from(gitUrl, gitDir, \
- progress=None, env=None, depth=1, recursive=recursive, kill_after_timeout=15)
+ progress=None, env=None, depth=1, recursive=recursive, kill_after_timeout=15, b=ref)
- if ref is not None:
- repo.create_head("myhead", ref).checkout()
return gitDir, repo
+
except GitCommandError as e:
# This is needed to stop the backtrace being weird
err = e.stderr
+ except gitdb.exc.BadName as e:
+ err = "Unable to find the reference " + (ref or "?") + "\n" + e.stderr
+
raise TaskError(err.replace("stderr: ", "") \
.replace("Cloning into '" + gitDir + "'...", "") \
.strip())