Showing 4 changed files with 33 additions and 10 deletions
+26 -6
templates/commit.html.ep
... ...
@@ -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>
+3
templates/compare.html.ep
... ...
@@ -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 %>
-3
templates/include/difftree.html.ep
... ...
@@ -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';
+4 -1
xt/basic.t
... ...
@@ -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