Mercurial > public > src > rhodecode
annotate 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 |
rev | line source |
---|---|
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
1 from pylons import request, response, session, tmpl_context as c, url, config, \ |
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
2 app_globals as g |
103
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3 from pylons.controllers.util import abort, redirect |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
4 from pylons_app.lib.auth import LoginRequired |
103
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 from pylons_app.lib.base import BaseController, render |
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 from pylons_app.model.hg_model import HgModel |
218
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
7 from vcs.utils import diffs as differ |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
8 import logging |
218
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
9 from vcs.nodes import FileNode |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
10 |
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
11 |
103
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 log = logging.getLogger(__name__) |
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 |
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 class ChangesetController(BaseController): |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
15 |
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
16 @LoginRequired() |
103
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 def __before__(self): |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
18 super(ChangesetController, self).__before__() |
103
665b344927f4
Added changeset controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
20 def index(self, revision): |
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
21 hg_model = HgModel() |
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
22 c.changeset = hg_model.get_repo(c.repo_name).get_changeset(revision) |
218
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
23 c.changeset_old = c.changeset.parents[0] |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
24 c.changes = [] |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
25 |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
26 |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
27 for node in c.changeset.added: |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
28 filenode_old = FileNode(node.path, '') |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
29 f_udiff = differ.get_udiff(filenode_old, node) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
30 diff = differ.DiffProcessor(f_udiff).as_html() |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
31 c.changes.append(('added', node, diff)) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
32 |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
33 for node in c.changeset.changed: |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
34 filenode_old = c.changeset_old.get_node(node.path) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
35 f_udiff = differ.get_udiff(filenode_old, node) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
36 diff = differ.DiffProcessor(f_udiff).as_html() |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
37 c.changes.append(('changed', node, diff)) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
38 |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
39 for node in c.changeset.removed: |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
40 c.changes.append(('removed', node, None)) |
58b46f9194c3
version bump. Made changesets work as should, but vcs had to be fixed for that.
Marcin Kuzminski <marcin@python-works.com>
parents:
193
diff
changeset
|
41 |
193
50a39f923f31
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Marcin Kuzminski <marcin@python-works.com>
parents:
103
diff
changeset
|
42 return render('changeset/changeset.html') |