##// END OF EJS Templates
compare: add options for ignore whitespace and increase context
Mads Kiilerich -
r4309:60ae17de default
parent child Browse files
Show More
@@ -45,7 +45,8 b' from kallithea.lib.auth import LoginRequ'
45 45 from kallithea.lib import diffs
46 46 from kallithea.model.db import Repository
47 47 from kallithea.lib.diffs import LimitedDiffContainer
48
48 from kallithea.controllers.changeset import anchor_url, _ignorews_url,\
49 _context_url, get_line_ctx, get_ignore_ws
49 50
50 51 log = logging.getLogger(__name__)
51 52
@@ -225,6 +226,12 b' class CompareController(BaseRepoControll'
225 226 other_ref_type=org_ref_type, other_ref_name=org_ref_name,
226 227 merge=merge or '')
227 228
229 # set callbacks for generating markup for icons
230 c.ignorews_url = _ignorews_url
231 c.context_url = _context_url
232 ignore_whitespace = request.GET.get('ignorews') == '1'
233 line_context = request.GET.get('context', 3)
234
228 235 org_repo = Repository.get_by_repo_name(org_repo)
229 236 other_repo = Repository.get_by_repo_name(other_repo)
230 237
@@ -285,7 +292,9 b' class CompareController(BaseRepoControll'
285 292
286 293 log.debug('running diff between %s and %s in %s'
287 294 % (rev1, c.other_rev, org_repo.scm_instance.path))
288 txtdiff = org_repo.scm_instance.get_diff(rev1=rev1, rev2=c.other_rev)
295 txtdiff = org_repo.scm_instance.get_diff(rev1=rev1, rev2=c.other_rev,
296 ignore_whitespace=ignore_whitespace,
297 context=line_context)
289 298
290 299 diff_processor = diffs.DiffProcessor(txtdiff or '', format='gitdiff',
291 300 diff_limit=diff_limit)
@@ -57,6 +57,8 b' from kallithea.model.comment import Chan'
57 57 from kallithea.model.changeset_status import ChangesetStatusModel
58 58 from kallithea.model.forms import PullRequestForm
59 59 from kallithea.lib.utils2 import safe_int
60 from kallithea.controllers.changeset import anchor_url, _ignorews_url,\
61 _context_url, get_line_ctx, get_ignore_ws
60 62
61 63 log = logging.getLogger(__name__)
62 64
@@ -194,13 +196,19 b' class PullrequestsController(BaseRepoCon'
194 196
195 197 c.statuses = c.org_repo.statuses([x.raw_id for x in c.cs_ranges])
196 198
199 ignore_whitespace = request.GET.get('ignorews') == '1'
200 line_context = request.GET.get('context', 3)
201 c.ignorews_url = _ignorews_url
202 c.context_url = _context_url
197 203 c.fulldiff = request.GET.get('fulldiff')
198 204 diff_limit = self.cut_off_limit if not c.fulldiff else None
199 205
200 206 # we swap org/other ref since we run a simple diff on one repo
201 207 log.debug('running diff between %s and %s in %s'
202 208 % (c.other_rev, c.org_rev, c.org_repo.scm_instance.path))
203 txtdiff = c.org_repo.scm_instance.get_diff(rev1=safe_str(c.other_rev), rev2=safe_str(c.org_rev))
209 txtdiff = c.org_repo.scm_instance.get_diff(rev1=safe_str(c.other_rev), rev2=safe_str(c.org_rev),
210 ignore_whitespace=ignore_whitespace,
211 context=line_context)
204 212
205 213 diff_processor = diffs.DiffProcessor(txtdiff or '', format='gitdiff',
206 214 diff_limit=diff_limit)
@@ -74,13 +74,15 b''
74 74 ${op}???
75 75 %endif
76 76 </div>
77 <div class="diff-actions">
77 <div class="diff-actions">
78 78 %if c.other_repo.repo_name == c.repo_name:
79 79 <a href="${h.url('files_diff_2way_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode_path),diff2=c.other_rev,diff1=c.org_rev,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('Show full side-by-side diff for this file'))}">
80 80 <img class="icon" src="${h.url('/images/icons/application_double.png')}"/>
81 81 </a>
82 82 %endif
83 </div>
83 ${c.ignorews_url(request.GET)}
84 ${c.context_url(request.GET)}
85 </div>
84 86 </div>
85 87 </div>
86 88 <div class="code-body">
@@ -59,6 +59,9 b''
59 59 ${ungettext('%s file changed with %s insertions and %s deletions','%s files changed with %s insertions and %s deletions', len(c.files)) % (len(c.files),c.lines_added,c.lines_deleted)}:
60 60 %endif
61 61
62 ${c.ignorews_url(request.GET)}
63 ${c.context_url(request.GET)}
64
62 65 </div>
63 66 <div class="cs_files">
64 67 %if not c.files:
@@ -155,8 +155,10 b''
155 155 <div style="overflow: auto; clear: both">
156 156 ##DIFF
157 157 <div class="table" style="float:left;clear:none">
158 <div id="body" class="diffblock">
159 <div style="white-space:pre-wrap;padding:5px">${_('Compare view')}</div>
158 <div class="diffblock">
159 <div style="padding:5px">
160 ${_('Compare view')}
161 </div>
160 162 </div>
161 163 <div id="changeset_compare_view_content">
162 164 ##CS
General Comments 0
You need to be logged in to leave comments. Login now