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))