From feb25a9cb82bbdceda0332485e47ca6a5da18a1d Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Tue, 28 Mar 2017 22:37:33 +0200 Subject: [PATCH] diffs: support mercurial copy in diffs details. --- rhodecode/public/css/code-block.less | 5 ++++- rhodecode/templates/codeblocks/diffs.mako | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/rhodecode/public/css/code-block.less b/rhodecode/public/css/code-block.less index 2f13d7f0..69c4e3ac 100644 --- a/rhodecode/public/css/code-block.less +++ b/rhodecode/public/css/code-block.less @@ -820,7 +820,6 @@ input.filediff-collapse-state { .pill { &[op="name"] { background: none; - color: @grey2; opacity: 1; color: white; } @@ -840,6 +839,10 @@ input.filediff-collapse-state { background: @color4; color: white; } + &[op="copied"] { + background: @color4; + color: white; + } &[op="mode"] { background: @grey3; color: white; diff --git a/rhodecode/templates/codeblocks/diffs.mako b/rhodecode/templates/codeblocks/diffs.mako index fb285fdf..298b6718 100644 --- a/rhodecode/templates/codeblocks/diffs.mako +++ b/rhodecode/templates/codeblocks/diffs.mako @@ -324,13 +324,17 @@ collapse_all = len(diffset.files) > collapse_when_files_over <% stats = filediff['patch']['stats'] from rhodecode.lib.diffs import NEW_FILENODE, DEL_FILENODE, \ - MOD_FILENODE, RENAMED_FILENODE, CHMOD_FILENODE, BIN_FILENODE + MOD_FILENODE, RENAMED_FILENODE, CHMOD_FILENODE, BIN_FILENODE, COPIED_FILENODE %> %if filediff.source_file_path and filediff.target_file_path: %if filediff.source_file_path != filediff.target_file_path: - ## file was renamed - ${filediff.target_file_path}${filediff.source_file_path} + ## file was renamed, or copied + %if RENAMED_FILENODE in stats['ops']: + ${filediff.target_file_path}${filediff.source_file_path} + %elif COPIED_FILENODE in stats['ops']: + ${filediff.target_file_path} ⬅ ${filediff.source_file_path} + %endif %else: ## file was modified ${filediff.source_file_path} @@ -349,10 +353,15 @@ from rhodecode.lib.diffs import NEW_FILENODE, DEL_FILENODE, \ %if filediff.patch['is_limited_diff']: limited diff %endif + %if RENAMED_FILENODE in stats['ops']: renamed %endif + %if COPIED_FILENODE in stats['ops']: + copied + %endif + %if NEW_FILENODE in stats['ops']: created %if filediff['target_mode'].startswith('120'):