mirror of
https://github.com/correl/codereview.git
synced 2024-11-24 03:00:07 +00:00
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
|
from django.http import Http404
|
||
|
from django.shortcuts import render_to_response
|
||
|
from codereview.dashboard.models import Repository
|
||
|
|
||
|
def log(request,repository):
|
||
|
try:
|
||
|
repo = Repository.objects.get(name=repository)
|
||
|
except:
|
||
|
raise Http404
|
||
|
vcs = repo.get_vcs()
|
||
|
ref = request.GET['c'] if 'c' in request.GET else vcs.ref()
|
||
|
offset = int(request.GET['o']) if 'o' in request.GET else 0
|
||
|
limit = 20
|
||
|
log = vcs.log(ref, max=limit, offset=offset)
|
||
|
|
||
|
newer = offset - limit if offset > limit else 0
|
||
|
# Inspect the last commit. If it has no parents, we can't go any further
|
||
|
# back.
|
||
|
last = log[-1]
|
||
|
older = offset + limit if last.parents else 0
|
||
|
|
||
|
return render_to_response('browser/log.html',
|
||
|
{
|
||
|
'repository': repository,
|
||
|
'vcs': vcs,
|
||
|
'log': log,
|
||
|
'ref': ref,
|
||
|
'offset': offset,
|
||
|
'newer': newer,
|
||
|
'older': older,
|
||
|
})
|
||
|
def view(request, repository, ref):
|
||
|
try:
|
||
|
repo = Repository.objects.get(name=repository)
|
||
|
except:
|
||
|
raise Http404
|
||
|
vcs = repo.get_vcs()
|
||
|
commit = vcs.commit(ref)
|
||
|
diffs = vcs.diff(ref)
|
||
|
|
||
|
return render_to_response('browser/view.html',
|
||
|
{
|
||
|
'repository': repository,
|
||
|
'vcs': vcs,
|
||
|
'ref': ref,
|
||
|
'commit': commit,
|
||
|
'diffs': diffs,
|
||
|
})
|