# HG changeset patch # User Daniel Dourvaris # Date 2016-10-28 06:42:19 # Node ID c6b413715549011668975b0c9136fce7b972a568 # Parent c5369ec8a7fb4f2f086c9246d34c285721ef2cb8 diffs: add repo_name as parameter of diffset - fixes bug where comparing different target/source repos had wrong diff links diff --git a/rhodecode/controllers/changeset.py b/rhodecode/controllers/changeset.py --- a/rhodecode/controllers/changeset.py +++ b/rhodecode/controllers/changeset.py @@ -260,6 +260,7 @@ class ChangesetController(BaseRepoContro return get_node diffset = codeblocks.DiffSet( + repo_name=c.repo_name, source_node_getter=_node_getter(commit1), target_node_getter=_node_getter(commit2), ).render_patchset(_parsed, commit1.raw_id, commit2.raw_id) diff --git a/rhodecode/controllers/compare.py b/rhodecode/controllers/compare.py --- a/rhodecode/controllers/compare.py +++ b/rhodecode/controllers/compare.py @@ -254,6 +254,7 @@ class CompareController(BaseRepoControll return get_node c.diffset = codeblocks.DiffSet( + repo_name=source_repo.repo_name, source_node_getter=_node_getter(source_commit), target_node_getter=_node_getter(target_commit), ).render_patchset(_parsed, source_ref, target_ref) diff --git a/rhodecode/lib/codeblocks.py b/rhodecode/lib/codeblocks.py --- a/rhodecode/lib/codeblocks.py +++ b/rhodecode/lib/codeblocks.py @@ -352,7 +352,7 @@ class DiffSet(object): # in the case of multiline code HL_NONE = 'NONE' # no highlighting, fastest - def __init__(self, highlight_mode=HL_REAL, + def __init__(self, highlight_mode=HL_REAL, repo_name=None, source_node_getter=lambda filename: None, target_node_getter=lambda filename: None, source_nodes=None, target_nodes=None, @@ -366,7 +366,7 @@ class DiffSet(object): self.target_node_getter = target_node_getter self.source_nodes = source_nodes or {} self.target_nodes = target_nodes or {} - + self.repo_name = repo_name self.max_file_size_limit = max_file_size_limit @@ -377,6 +377,7 @@ class DiffSet(object): changed_files=0, files=[], limited_diff=isinstance(patchset, LimitedDiffContainer), + repo_name=self.repo_name, source_ref=source_ref, target_ref=target_ref, )) diff --git a/rhodecode/templates/codeblocks/diffs.html b/rhodecode/templates/codeblocks/diffs.html --- a/rhodecode/templates/codeblocks/diffs.html +++ b/rhodecode/templates/codeblocks/diffs.html @@ -65,7 +65,7 @@ collapse_all = len(diffset.files) > coll
%if commit: @@ -256,7 +256,7 @@ from rhodecode.lib.diffs import NEW_FILE %if filediff.patch['operation'] in ['D', 'M']: ${_('Show file before')} @@ -272,7 +272,7 @@ from rhodecode.lib.diffs import NEW_FILE %if filediff.patch['operation'] in ['A', 'M']: ${_('Show file after')} @@ -288,14 +288,14 @@ from rhodecode.lib.diffs import NEW_FILE ${_('Raw diff')} ${_('Download diff')}