Mercurial > kallithea
changeset 2161:e8c016815ab9 beta
added hidden fulldiff GET param for disabling big diff cut off limit.
fixed context toggle options on single file diff
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 23 Mar 2012 23:52:12 +0200 |
parents | 3754ee8ab3ad |
children | 04d3fae0e4c0 |
files | rhodecode/controllers/changeset.py rhodecode/model/db.py rhodecode/templates/changeset/changeset.html rhodecode/templates/changeset/diff_block.html |
diffstat | 4 files changed, 31 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/changeset.py Fri Mar 23 21:36:36 2012 +0200 +++ b/rhodecode/controllers/changeset.py Fri Mar 23 23:52:12 2012 +0200 @@ -51,13 +51,18 @@ log = logging.getLogger(__name__) -def anchor_url(revision, path): +def _update_with_GET(params, GET): + for k in ['diff1', 'diff2', 'diff']: + params[k] += GET.getall(k) + + +def anchor_url(revision, path, GET): fid = h.FID(revision, path) - return h.url.current(anchor=fid, **dict(request.GET)) + return h.url.current(anchor=fid, **dict(GET)) def get_ignore_ws(fid, GET): - ig_ws_global = request.GET.get('ignorews') + ig_ws_global = GET.get('ignorews') ig_ws = filter(lambda k: k.startswith('WS'), GET.getall(fid)) if ig_ws: try: @@ -67,12 +72,13 @@ return ig_ws_global -def _ignorews_url(fileid=None): - fileid = str(fileid) +def _ignorews_url(GET, fileid=None): + fileid = str(fileid) if fileid else None params = defaultdict(list) + _update_with_GET(params, GET) lbl = _('show white space') - ig_ws = get_ignore_ws(fileid, request.GET) - ln_ctx = get_line_ctx(fileid, request.GET) + ig_ws = get_ignore_ws(fileid, GET) + ln_ctx = get_line_ctx(fileid, GET) # global option if fileid is None: if ig_ws is None: @@ -98,7 +104,7 @@ def get_line_ctx(fid, GET): - ln_ctx_global = request.GET.get('context') + ln_ctx_global = GET.get('context') ln_ctx = filter(lambda k: k.startswith('C'), GET.getall(fid)) if ln_ctx: @@ -112,17 +118,19 @@ return -def _context_url(fileid=None): +def _context_url(GET, fileid=None): """ Generates url for context lines :param fileid: """ - fileid = str(fileid) - ig_ws = get_ignore_ws(fileid, request.GET) - ln_ctx = (get_line_ctx(fileid, request.GET) or 3) * 2 + + fileid = str(fileid) if fileid else None + ig_ws = get_ignore_ws(fileid, GET) + ln_ctx = (get_line_ctx(fileid, GET) or 3) * 2 params = defaultdict(list) + _update_with_GET(params, GET) # global option if fileid is None: @@ -163,7 +171,7 @@ c.anchor_url = anchor_url c.ignorews_url = _ignorews_url c.context_url = _context_url - + limit_off = request.GET.get('fulldiff') #get ranges of revisions if preset rev_range = revision.split('...')[:2] enable_comments = True @@ -221,7 +229,7 @@ ign_whitespace_lcl = get_ignore_ws(fid, request.GET) lim = self.cut_off_limit if cumulative_diff > self.cut_off_limit: - lim = -1 + lim = -1 if limit_off is None else None size, cs1, cs2, diff, st = wrapped_diff( filenode_old=None, filenode_new=node, @@ -252,7 +260,7 @@ ign_whitespace_lcl = get_ignore_ws(fid, request.GET) lim = self.cut_off_limit if cumulative_diff > self.cut_off_limit: - lim = -1 + lim = -1 if limit_off is None else None size, cs1, cs2, diff, st = wrapped_diff( filenode_old=filenode_old, filenode_new=node,
--- a/rhodecode/model/db.py Fri Mar 23 21:36:36 2012 +0200 +++ b/rhodecode/model/db.py Fri Mar 23 23:52:12 2012 +0200 @@ -145,7 +145,7 @@ def delete(cls, id_): obj = cls.query().get(id_) Session.delete(obj) - + def __repr__(self): if hasattr(self, '__unicode__'): # python repr needs to return str @@ -518,7 +518,7 @@ logs = relationship('UserLog') def __unicode__(self): - return u"<%s('%s:%s')>" % (self.__class__.__name__,self.repo_id, + return u"<%s('%s:%s')>" % (self.__class__.__name__,self.repo_id, self.repo_name) @classmethod
--- a/rhodecode/templates/changeset/changeset.html Fri Mar 23 21:36:36 2012 +0200 +++ b/rhodecode/templates/changeset/changeset.html Fri Mar 23 23:52:12 2012 +0200 @@ -36,8 +36,8 @@ <div class="diff-actions"> <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a> <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a> - ${c.ignorews_url()} - ${c.context_url()} + ${c.ignorews_url(request.GET)} + ${c.context_url(request.GET)} </div> <div class="comments-number" style="float:right;padding-right:5px">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</div> </div> @@ -91,14 +91,14 @@ </div> </div> <span> - ${_('%s files affected with %s additions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)} + ${_('%s files affected with %s insertions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)} </span> <div class="cs_files"> %for change,filenode,diff,cs1,cs2,stat in c.changes: <div class="cs_${change}"> <div class="node"> %if change != 'removed': - ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path)+"_target")} + ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")} %else: ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))} %endif
--- a/rhodecode/templates/changeset/diff_block.html Fri Mar 23 21:36:36 2012 +0200 +++ b/rhodecode/templates/changeset/diff_block.html Fri Mar 23 23:52:12 2012 +0200 @@ -19,8 +19,8 @@ <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" title="${_('diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a> <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='raw')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a> <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a> - ${c.ignorews_url(h.FID(filenode.changeset.raw_id,filenode.path))} - ${c.context_url(h.FID(filenode.changeset.raw_id,filenode.path))} + ${c.ignorews_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))} + ${c.context_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))} </div> <span style="float:right;margin-top:-3px"> <label>