comparison pylons_app/controllers/changeset.py @ 218:58b46f9194c3 rhodecode-0.0.0.7.4

version bump. Made changesets work as should, but vcs had to be fixed for that.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 25 May 2010 00:32:18 +0200
parents 50a39f923f31
children a83a1799480c
comparison
equal deleted inserted replaced
217:3a1b921ce51c 218:58b46f9194c3
1 from pylons import request, response, session, tmpl_context as c, url, config, \ 1 from pylons import request, response, session, tmpl_context as c, url, config, \
2 app_globals as g 2 app_globals as g
3 from pylons.controllers.util import abort, redirect 3 from pylons.controllers.util import abort, redirect
4 from pylons_app.lib.auth import LoginRequired 4 from pylons_app.lib.auth import LoginRequired
5 from pylons_app.lib.base import BaseController, render 5 from pylons_app.lib.base import BaseController, render
6 from pylons_app.lib.utils import get_repo_slug
7 from pylons_app.model.hg_model import HgModel 6 from pylons_app.model.hg_model import HgModel
7 from vcs.utils import diffs as differ
8 import logging 8 import logging
9 from vcs.nodes import FileNode
9 10
10 11
11 log = logging.getLogger(__name__) 12 log = logging.getLogger(__name__)
12 13
13 class ChangesetController(BaseController): 14 class ChangesetController(BaseController):
17 super(ChangesetController, self).__before__() 18 super(ChangesetController, self).__before__()
18 19
19 def index(self, revision): 20 def index(self, revision):
20 hg_model = HgModel() 21 hg_model = HgModel()
21 c.changeset = hg_model.get_repo(c.repo_name).get_changeset(revision) 22 c.changeset = hg_model.get_repo(c.repo_name).get_changeset(revision)
22 23 c.changeset_old = c.changeset.parents[0]
24 c.changes = []
25
26
27 for node in c.changeset.added:
28 filenode_old = FileNode(node.path, '')
29 f_udiff = differ.get_udiff(filenode_old, node)
30 diff = differ.DiffProcessor(f_udiff).as_html()
31 c.changes.append(('added', node, diff))
32
33 for node in c.changeset.changed:
34 filenode_old = c.changeset_old.get_node(node.path)
35 f_udiff = differ.get_udiff(filenode_old, node)
36 diff = differ.DiffProcessor(f_udiff).as_html()
37 c.changes.append(('changed', node, diff))
38
39 for node in c.changeset.removed:
40 c.changes.append(('removed', node, None))
41
23 return render('changeset/changeset.html') 42 return render('changeset/changeset.html')