Mercurial > kallithea
comparison rhodecode/controllers/changeset.py @ 1753:1d1ccb873d00 beta
moved soon-to-be-deleted code from vcs to rhodecode
- diff lib
- annotate highlighter
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 04 Dec 2011 23:39:32 +0200 |
parents | f28dc032adf0 |
children | 5610fd9b6803 |
comparison
equal
deleted
inserted
replaced
1752:f28dc032adf0 | 1753:1d1ccb873d00 |
---|---|
34 import rhodecode.lib.helpers as h | 34 import rhodecode.lib.helpers as h |
35 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator | 35 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
36 from rhodecode.lib.base import BaseRepoController, render | 36 from rhodecode.lib.base import BaseRepoController, render |
37 from rhodecode.lib.utils import EmptyChangeset | 37 from rhodecode.lib.utils import EmptyChangeset |
38 from rhodecode.lib.compat import OrderedDict | 38 from rhodecode.lib.compat import OrderedDict |
39 from rhodecode.lib import diffs | |
39 from rhodecode.model.db import ChangesetComment | 40 from rhodecode.model.db import ChangesetComment |
40 from rhodecode.model.comment import ChangesetCommentsModel | 41 from rhodecode.model.comment import ChangesetCommentsModel |
41 | 42 |
42 from vcs.exceptions import RepositoryError, ChangesetError, \ | 43 from vcs.exceptions import RepositoryError, ChangesetError, \ |
43 ChangesetDoesNotExistError | 44 ChangesetDoesNotExistError |
44 from vcs.nodes import FileNode | 45 from vcs.nodes import FileNode |
45 from vcs.utils import diffs as differ | |
46 from webob.exc import HTTPForbidden | 46 from webob.exc import HTTPForbidden |
47 from rhodecode.model.meta import Session | 47 from rhodecode.model.meta import Session |
48 | 48 |
49 log = logging.getLogger(__name__) | 49 log = logging.getLogger(__name__) |
50 | 50 |
128 # in this case node.size is good parameter since those are | 128 # in this case node.size is good parameter since those are |
129 # added nodes and their size defines how many changes were | 129 # added nodes and their size defines how many changes were |
130 # made | 130 # made |
131 c.sum_added += node.size | 131 c.sum_added += node.size |
132 if c.sum_added < self.cut_off_limit: | 132 if c.sum_added < self.cut_off_limit: |
133 f_gitdiff = differ.get_gitdiff(filenode_old, node, | 133 f_gitdiff = diffs.get_gitdiff(filenode_old, node, |
134 ignore_whitespace=ignore_whitespace) | 134 ignore_whitespace=ignore_whitespace) |
135 d = differ.DiffProcessor(f_gitdiff, format='gitdiff') | 135 d = diffs.DiffProcessor(f_gitdiff, format='gitdiff') |
136 | 136 |
137 st = d.stat() | 137 st = d.stat() |
138 diff = d.as_html() | 138 diff = d.as_html() |
139 | 139 |
140 else: | 140 else: |
167 diff = wrap_to_table(_('binary file')) | 167 diff = wrap_to_table(_('binary file')) |
168 st = (0, 0) | 168 st = (0, 0) |
169 else: | 169 else: |
170 | 170 |
171 if c.sum_removed < self.cut_off_limit: | 171 if c.sum_removed < self.cut_off_limit: |
172 f_gitdiff = differ.get_gitdiff(filenode_old, node, | 172 f_gitdiff = diffs.get_gitdiff(filenode_old, node, |
173 ignore_whitespace=ignore_whitespace) | 173 ignore_whitespace=ignore_whitespace) |
174 d = differ.DiffProcessor(f_gitdiff, | 174 d = diffs.DiffProcessor(f_gitdiff, |
175 format='gitdiff') | 175 format='gitdiff') |
176 st = d.stat() | 176 st = d.stat() |
177 if (st[0] + st[1]) * 256 > self.cut_off_limit: | 177 if (st[0] + st[1]) * 256 > self.cut_off_limit: |
178 diff = wrap_to_table(_('Diff is to big ' | 178 diff = wrap_to_table(_('Diff is to big ' |
179 'and was cut off, see ' | 179 'and was cut off, see ' |
238 for node in c.changeset.added: | 238 for node in c.changeset.added: |
239 filenode_old = FileNode(node.path, '') | 239 filenode_old = FileNode(node.path, '') |
240 if filenode_old.is_binary or node.is_binary: | 240 if filenode_old.is_binary or node.is_binary: |
241 diff = _('binary file') + '\n' | 241 diff = _('binary file') + '\n' |
242 else: | 242 else: |
243 f_gitdiff = differ.get_gitdiff(filenode_old, node, | 243 f_gitdiff = diffs.get_gitdiff(filenode_old, node, |
244 ignore_whitespace=ignore_whitespace) | 244 ignore_whitespace=ignore_whitespace) |
245 diff = differ.DiffProcessor(f_gitdiff, | 245 diff = diffs.DiffProcessor(f_gitdiff, |
246 format='gitdiff').raw_diff() | 246 format='gitdiff').raw_diff() |
247 | 247 |
248 cs1 = None | 248 cs1 = None |
249 cs2 = node.last_changeset.raw_id | 249 cs2 = node.last_changeset.raw_id |
250 c.changes.append(('added', node, diff, cs1, cs2)) | 250 c.changes.append(('added', node, diff, cs1, cs2)) |
252 for node in c.changeset.changed: | 252 for node in c.changeset.changed: |
253 filenode_old = c.changeset_parent.get_node(node.path) | 253 filenode_old = c.changeset_parent.get_node(node.path) |
254 if filenode_old.is_binary or node.is_binary: | 254 if filenode_old.is_binary or node.is_binary: |
255 diff = _('binary file') | 255 diff = _('binary file') |
256 else: | 256 else: |
257 f_gitdiff = differ.get_gitdiff(filenode_old, node, | 257 f_gitdiff = diffs.get_gitdiff(filenode_old, node, |
258 ignore_whitespace=ignore_whitespace) | 258 ignore_whitespace=ignore_whitespace) |
259 diff = differ.DiffProcessor(f_gitdiff, | 259 diff = diffs.DiffProcessor(f_gitdiff, |
260 format='gitdiff').raw_diff() | 260 format='gitdiff').raw_diff() |
261 | 261 |
262 cs1 = filenode_old.last_changeset.raw_id | 262 cs1 = filenode_old.last_changeset.raw_id |
263 cs2 = node.last_changeset.raw_id | 263 cs2 = node.last_changeset.raw_id |
264 c.changes.append(('changed', node, diff, cs1, cs2)) | 264 c.changes.append(('changed', node, diff, cs1, cs2)) |