Mercurial > public > src > rhodecode
comparison pylons_app/controllers/changeset.py @ 218:58b46f9194c3 v0.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') |