aboutsummaryrefslogtreecommitdiff
path: root/app/tasks/importtasks.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-01-25 01:07:39 +0000
committerrubenwardy <rw@rubenwardy.com>2020-01-25 01:07:39 +0000
commit1d223cc16f2611ea0269c4a5d025a617a176a64a (patch)
tree9c43b8ff4780edff25ec96f87de166bd7d7540df /app/tasks/importtasks.py
parentb7101a403bf0ea017a44bfc588fd5d049c4568ff (diff)
downloadcheatdb-1d223cc16f2611ea0269c4a5d025a617a176a64a.tar.xz
Use git init/fetch instead of git clone
Diffstat (limited to 'app/tasks/importtasks.py')
-rw-r--r--app/tasks/importtasks.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/tasks/importtasks.py b/app/tasks/importtasks.py
index 21e931e..5e70850 100644
--- a/app/tasks/importtasks.py
+++ b/app/tasks/importtasks.py
@@ -156,8 +156,14 @@ def cloneRepo(urlstr, ref=None, recursive=False):
repo = git.Repo.clone_from(gitUrl, gitDir, \
progress=None, env=None, depth=1, recursive=recursive, kill_after_timeout=15)
else:
- repo = git.Repo.clone_from(gitUrl, gitDir, \
- progress=None, env=None, depth=1, recursive=recursive, kill_after_timeout=15, b=ref)
+ repo = git.Repo.init(gitDir)
+ origin = repo.create_remote("origin", url=gitUrl)
+ assert origin.exists()
+ origin.fetch()
+
+ new_head = repo.commit(ref) #repo.create_head("target", ref)
+ repo.head.reference = new_head
+ repo.head.reset(index=True, working_tree=True)
return gitDir, repo