Skip to content

Commit

Permalink
Refactor repo update code
Browse files Browse the repository at this point in the history
  • Loading branch information
tobami committed Dec 29, 2010
1 parent 0441c47 commit 311b544
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
5 changes: 3 additions & 2 deletions speedcenter/codespeed/mercurial.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
def updaterepo(repo):
repodir = path + repo.split('/')[-1] + "/"
if os.path.exists(repodir):
# Update repo
cmd = "hg pull -u"
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE, cwd=repodir)
stdout, stderr = p.communicate()
Expand All @@ -16,7 +17,7 @@ def updaterepo(repo):
else:
return [{'error': False}]
else:
#os.mkdir(path)
# Clone repo
cmd = "hg clone %s" % repo
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE, cwd=path)
stdout, stderr = p.communicate()
Expand Down Expand Up @@ -60,5 +61,5 @@ def getlogs(endrev, startrev):
'commitid': commitid})
# Remove last log because the startrev log shouldn't be shown
if len(logs) > 1:
print logs.pop()
logs.pop()
return logs
5 changes: 5 additions & 0 deletions speedcenter/codespeed/subversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
'''Subversion commit logs support'''
from datetime import datetime


def updaterepo():
'''Not needed for a remote subversion repo'''
return [{'error': False}]

def getlogs(newrev, startrev):
import pysvn

Expand Down
16 changes: 9 additions & 7 deletions speedcenter/codespeed/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -668,16 +668,18 @@ def getcommitlogs(rev, startrev, update=False):
if rev.project.repo_type == 'N' or rev.project.repo_path == "":
#Don't fetch logs
pass
elif rev.project.repo_type == 'S':
from subversion import getlogs
logs = getlogs(rev, startrev)
elif rev.project.repo_type == 'M':
import mercurial
else:
if rev.project.repo_type == 'S':
from subversion import getlogs, updaterepo
elif rev.project.repo_type == 'M':
from mercurial import getlogs, updaterepo

if update:
resp = mercurial.updaterepo(rev.project.repo_path)
resp = updaterepo(rev.project.repo_path)
if resp.get('error'):
return resp
logs = mercurial.getlogs(rev, startrev)
logs = getlogs(rev, startrev)

return logs

def saverevisioninfo(rev):
Expand Down

0 comments on commit 311b544

Please sign in to comment.