diff --git a/pagure/templates/_repo_renderdiff.html b/pagure/templates/_repo_renderdiff.html index 5b9e13c..a3997a6 100644 --- a/pagure/templates/_repo_renderdiff.html +++ b/pagure/templates/_repo_renderdiff.html @@ -32,20 +32,22 @@
-
+
-
+
{% set linesadded = patch.line_stats[1] %} {% set linesremoved = patch.line_stats[2] %} {% macro lineschanged(added, removed) -%} - {%if added%} - +{{linesadded}} - {%endif%} - {%if removed%} - -{{linesremoved}} - {%endif%} +
+ {%if added%} + +{{linesadded}} + {%endif%} + {%if removed%} + -{{linesremoved}} + {%endif%} +
{%endmacro%} {% macro viewfilelink(filepath, identifier=False)%} @@ -53,7 +55,7 @@ {% if not identifier %} {% set identifier = pull_request.branch_from %} {% endif %} - {{ filepath | unicode }} {% elif not pull_request %} - - checkout the pull-request locally - to review it entirely. -
{% endif %} {% endmacro %} + {% macro viewfilelinkbutton(filepath, disabled=False, identifier=False) %} + {% if pull_request and not pull_request.remote %} + {% if not identifier %} + {% set identifier = pull_request.branch_from %} + {% endif %} + + + + {% elif not pull_request %} + + + + {% elif pull_request and pull_request.remote %} + {% endif %} + {% endmacro %} + + {% macro changedlabel(thelabel, thecolor)%} +
+ {{thelabel}} +
+ {% endmacro %} + + {% macro diffcollapsebtn()%} + + + + {% endmacro %} + {% if patch | hasattr('new_file_path') %} {%- if patch.new_file_path == patch.old_file_path -%} {%- if patch.status == 'D' -%} {% set patchtype = "removed"%} -
- {{ viewfilelink(patch.new_file_path) }} {{ lineschanged(False, True) }} +
+ {{ viewfilelink(patch.new_file_path) }} +
+
+ {{ changedlabel("file removed", "danger")}} + {{ lineschanged(False, True) }} + {{ viewfilelinkbutton(patch.new_file_path, disabled=True) }} + {{ diffcollapsebtn() }}
-
file removed
{%-elif patch.status == 'A' -%} {% set patchtype = "added"%} -
- {{ viewfilelink(patch.new_file_path) }} {{ lineschanged(True, False) }} +
+ {{ viewfilelink(patch.new_file_path) }} +
+
+ {{ changedlabel("file added", "success")}} + {{ lineschanged(True, False) }} + {{ viewfilelinkbutton(patch.new_file_path) }} + {{ diffcollapsebtn() }}
-
file added
{%-elif patch.status == 'M' -%} {% set patchtype = "changed"%} -
- {{ viewfilelink(patch.new_file_path) }} {{ lineschanged(True, True) }} +
+ {{ viewfilelink(patch.new_file_path) }} +
+
+ {{ changedlabel("file modified", "secondary")}} + {{ lineschanged(True, True) }} + {{ viewfilelinkbutton(patch.new_file_path) }} + {{ diffcollapsebtn() }}
-
file changed
{%-endif-%} {%- else -%} {% set patchtype = "moved"%} - {{lineschanged(True, True)}} -
- {{patch.old_file_path}}
- {{viewfilelink(patch.new_file_path)}} +
+ {{ viewfilelink(patch.new_file_path) }}{{patch.old_file_path}} +
+
+ {{ changedlabel("file renamed", "info")}} + {% if linesadded != 0 and linesremoved != 0%} + {{ lineschanged(True, True) }} + {% endif %} + {{ viewfilelinkbutton(patch.new_file_path) }} + {{ diffcollapsebtn() }}
-
file moved
{%- endif -%} {%- elif patch | hasattr('delta') -%} {%- if patch.delta.new_file.path == patch.delta.old_file.path -%} {%- if patch.delta.new_file.mode == 0 and patch.delta.old_file.mode in [33188, 33261] -%} {% set patchtype = "removed"%} -
- {{ viewfilelink(patch.delta.new_file.path) }} +
+ {{ viewfilelink(patch.delta.new_file.path) }} +
+
+ {{ changedlabel("file removed", "danger")}} {{ lineschanged(False, True) }} + {{ viewfilelinkbutton(patch.delta.new_file.path, disabled=True) }} + {{ diffcollapsebtn() }}
-
file removed
- {%-elif patch.delta.new_file.mode in [33188, 33261] and patch.delta.old_file.mode == 0 -%} {% set patchtype = "added"%} -
- {{ viewfilelink(patch.delta.new_file.path) }} +
+ {{ viewfilelink(patch.delta.new_file.path) }} +
+
+ {{ changedlabel("file added", "success")}} {{ lineschanged(True, False) }} + {{ viewfilelinkbutton(patch.delta.new_file.path) }} + {{ diffcollapsebtn() }}
-
file added
- {%-elif patch.delta.new_file.mode in [33188, 33261] and patch.delta.old_file.mode in [33188, 33261] -%} {% set patchtype = "changed"%} -
- {{ viewfilelink(patch.delta.new_file.path)}} +
+ {{ viewfilelink(patch.delta.new_file.path) }} +
+
+ {{ changedlabel("file modified", "secondary")}} {{ lineschanged(True, True) }} + {{ viewfilelinkbutton(patch.delta.new_file.path) }} + {{ diffcollapsebtn() }}
-
file changed
{%-endif-%} {%- else -%} {% set patchtype = "moved"%} - {{ lineschanged(True, True) }} -
- {{patch.delta.old_file.path}}
- {{ viewfilelink(patch.delta.new_file.path) }} +
+ {{ viewfilelink(patch.delta.new_file.path) }}{{patch.delta.old_file.path}} +
+
+ {{ changedlabel("file renamed", "info")}} + {% if linesadded != 0 and linesremoved != 0%} + {{ lineschanged(True, True) }} + {% endif %} + {{ viewfilelinkbutton(patch.delta.new_file.path) }} + {{ diffcollapsebtn() }}
-
file moved
{%- endif -%} {%- endif -%} -
+
{% if patchtype == "moved" and linesadded == 0 and linesremoved == 0%} -
-
file was moved with no change to the file
+
+
file was moved with no change to the file
{% elif patchtype == "added" and linesadded == 0 %} -
+
empty file added
{% else %} {% if patchtype == "added" and linesadded > 1000 %} -
-
+
+
The added file is too large to be shown here, see it at: {{ viewfilelink(patch_new_file_path) }}
- {% elif patchtype == "removed" %} -
-
+ {% elif patchtype == "removed" and linesadded > 1000 %} +
+
The removed file is too large to be shown here, see it at: {{ viewfilelink(patch_new_file_path, patch_old_id) }}
{% else %} +
{% autoescape false %} {{ patch | patch_to_diff | html_diff(linenos=None) | format_loc( filename=patch_new_file_path, @@ -190,6 +266,7 @@ prequest=pull_request, index=loop.index, tree_id=diff_commits[0].tree.id)}} +
{% endautoescape %} {% endif %} {% endif %} diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 2629790..5cd6be6 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -1361,6 +1361,9 @@ def new_request_pull( flask.g.branches = sorted(orig_repo.listall_branches()) + if diff: + diff.find_similar() + return flask.render_template( 'repo_new_pull_request.html', select='requests', diff --git a/tests/test_pagure_flask_ui_fork.py b/tests/test_pagure_flask_ui_fork.py index be59e7f..9e58f12 100644 --- a/tests/test_pagure_flask_ui_fork.py +++ b/tests/test_pagure_flask_ui_fork.py @@ -289,9 +289,9 @@ class PagureFlaskForktests(tests.Modeltests): '', output_text) self.assertIn( - '+3', output_text) + '+3', output_text) self.assertIn( - '-1', + '-1', output_text) @patch('pagure.lib.notify.send_email') diff --git a/tests/test_pagure_flask_ui_remote_pr.py b/tests/test_pagure_flask_ui_remote_pr.py index 688f945..aae5428 100644 --- a/tests/test_pagure_flask_ui_remote_pr.py +++ b/tests/test_pagure_flask_ui_remote_pr.py @@ -218,11 +218,11 @@ class PagureRemotePRtests(tests.Modeltests): output_text = output.get_data(as_text=True) self.assertIn('Create Pull Request\n
\n', output_text) self.assertIn( - '
', output_text) + '
\n', output_text) self.assertIn( - '
', output_text) + '
\n', output_text) self.assertNotIn( - '
', output_text) + '
\n', output_text) # Not saved yet self.session = pagure.lib.create_session(self.dbpath) @@ -245,25 +245,12 @@ class PagureRemotePRtests(tests.Modeltests): '#1', output_text) self.assertIn( - '
', output_text) + '
\n', output_text) self.assertIn( - '
', output_text) + '
\n', output_text) self.assertNotIn( - '
', output_text) + '
\n', output_text) - # Show the filename in the diff view - self.assertIn( - '''
- .gitignore -
- this is a remote pull-request, so we cannot provide you''', - output_text) - self.assertIn( - '''
- sources -
- this is a remote pull-request, so we cannot provide you''', - output_text) # Show the filename in the Changes summary self.assertIn( '', output_text) + '
\n', output_text) self.assertNotIn( - '
', output_text) + '
\n', output_text) # Not saved yet self.session = pagure.lib.create_session(self.dbpath) @@ -376,17 +363,10 @@ class PagureRemotePRtests(tests.Modeltests): 'PR#1: Remote PR title - test\n - Pagure', output_text) self.assertIn( - '