... | ... |
@@ -30,9 +30,19 @@ |
30 | 30 |
$commit->{parent}, |
31 | 31 |
$commit->{parents} |
32 | 32 |
); |
33 |
+ my $difftrees_h = {}; |
|
34 |
+ for my $difftree (@$difftrees) { |
|
35 |
+ my $file = $difftree->{file}; |
|
36 |
+ $difftrees_h->{$file} = $difftree; |
|
37 |
+ } |
|
33 | 38 |
|
34 | 39 |
# Get blob diffs |
35 | 40 |
my $blobdiffs = $git->blobdiffs($user, $project, $from_id, $id, $difftrees) || []; |
41 |
+ my $blobdiffs_h = {}; |
|
42 |
+ for my $blobdiff (@$blobdiffs) { |
|
43 |
+ my $file = $blobdiff->{file}; |
|
44 |
+ $blobdiffs_h->{$file} = $blobdiff; |
|
45 |
+ } |
|
36 | 46 |
|
37 | 47 |
# Branches |
38 | 48 |
my $branch_refs = $git->references($user, $project, 'heads'); |
... | ... |
@@ -108,7 +118,7 @@ |
108 | 118 |
</div> |
109 | 119 |
% } |
110 | 120 |
</div> |
111 |
- <div class="border-gray" style="border-bottom-left-radius:5px;border-bottom-right-radius:5px"> |
|
121 |
+ <div class="border-gray" style="border-bottom-left-radius:5px;border-bottom-right-radius:5px;margin-bottom:10px;"> |
|
112 | 122 |
<div class="row"> |
113 | 123 |
<div class="span4 padding5"> |
114 | 124 |
<span><b><%= $commit->{author_name} %></b></span> |
... | ... |
@@ -137,21 +147,31 @@ |
137 | 147 |
</div> |
138 | 148 |
</div> |
139 | 149 |
</div> |
140 |
- |
|
150 |
+ |
|
151 |
+ <div style="margin-bottom:5px"> |
|
152 |
+ Showing <b><%= @$difftrees %> changed files</b> |
|
153 |
+ </div> |
|
141 | 154 |
<%= include '/include/difftree', id => $commit->{id}, from_id => $commit->{parent}, |
142 | 155 |
difftrees => $difftrees, parents => $commit->{parents}, project_ns => $project %> |
143 | 156 |
|
144 | 157 |
<div> |
145 |
- % for (my $i = 0; $i < @$blobdiffs; $i++) { |
|
146 |
- % my $blob_diff = $blobdiffs->[$i]; |
|
147 |
- <div> |
|
158 |
+ % for my $file (sort keys %$difftrees_h) { |
|
159 |
+ % my $blob_diff = $blobdiffs_h->{$file}; |
|
160 |
+ % if ($blob_diff) { |
|
148 | 161 |
% my $lines = $blob_diff->{lines}; |
149 | 162 |
% my $file = $blob_diff->{file}; |
150 | 163 |
% my $from_file = $blob_diff->{from_file}; |
151 | 164 |
% $from_file = $file unless defined $from_file; |
152 | 165 |
% my $status = $blob_diff->{status}; |
153 | 166 |
%= include '/include/blobdiff_body', file => $file, from_file => $from_file, status => $status, lines => $blob_diff->{lines}, project_ns => $project; |
154 |
- </div> |
|
167 |
+ % } else { |
|
168 |
+ <div class="border-gray bk-gray-light" style="border-bottom:none;padding:10px"> |
|
169 |
+ <%= $file %> |
|
170 |
+ </div> |
|
171 |
+ <div class="border-gray" style="padding:10px"> |
|
172 |
+ No changes. Empty file is added. |
|
173 |
+ </div> |
|
174 |
+ % } |
|
155 | 175 |
% } |
156 | 176 |
</div> |
157 | 177 |
</div> |
... | ... |
@@ -127,6 +127,9 @@ |
127 | 127 |
% } |
128 | 128 |
</div> |
129 | 129 |
<div class="tab-pane" id="file-changed"> |
130 |
+ <div style="margin-bottom:5px"> |
|
131 |
+ Showing <b><%= @$difftrees %> changed files</b> |
|
132 |
+ </div> |
|
130 | 133 |
<div> |
131 | 134 |
<%= include '/include/difftree', id => $end_commit->{id}, from_id => $start_commit->{id}, |
132 | 135 |
difftrees => $difftrees, parents => [], project_ns => $project %> |
... | ... |
@@ -1,6 +1,3 @@ |
1 |
-<div> |
|
2 |
- Showing <b><%= @$difftrees %> changed files</b> |
|
3 |
-</div> |
|
4 | 1 |
<table style="margin-bottom:10px"> |
5 | 2 |
|
6 | 3 |
% my $has_header = @$difftrees && @$parents > 1 && stash('action') eq 'commitdiff'; |
... | ... |
@@ -14,7 +14,8 @@ my $t = Test::Mojo->new($app); |
14 | 14 |
my $user = 'kimoto'; |
15 | 15 |
my $project = 'gitprep_t'; |
16 | 16 |
|
17 |
-subtest 'Commit page - first commit' => sub { |
|
17 |
+diag 'Commit page - first commit'; |
|
18 |
+{ |
|
18 | 19 |
# Page access |
19 | 20 |
$t->get_ok("/$user/$project/commit/4b0e81c462088b16fefbe545e00b993fd7e6f884"); |
20 | 21 |
|
... | ... |
@@ -36,5 +37,7 @@ subtest 'Commit page - first commit' => sub { |
36 | 37 |
# Added README |
37 | 38 |
$t->content_like(qr/class="file-add".*?README/s); |
38 | 39 |
|
40 |
+ # Empty file is added |
|
41 |
+ $t->content_like(qr/No changes/); |
|
39 | 42 |
}; |
40 | 43 |
|