| ... | ... |
@@ -1785,14 +1785,6 @@ button.close {
|
| 1785 | 1785 |
padding:10px 0; |
| 1786 | 1786 |
} |
| 1787 | 1787 |
|
| 1788 |
-.commit-date {
|
|
| 1789 |
- color: #767676; |
|
| 1790 |
-} |
|
| 1791 |
- |
|
| 1792 |
-.commit-date i {
|
|
| 1793 |
- margin-right:15px; |
|
| 1794 |
-} |
|
| 1795 |
- |
|
| 1796 | 1788 |
.commits-date-container li:first-child {
|
| 1797 | 1789 |
border-top: 1px solid #e5e5e5; |
| 1798 | 1790 |
} |
| ... | ... |
@@ -1805,6 +1797,14 @@ button.close {
|
| 1805 | 1797 |
overflow:hidden; |
| 1806 | 1798 |
} |
| 1807 | 1799 |
|
| 1800 |
+.commit-date {
|
|
| 1801 |
+ color: #767676; |
|
| 1802 |
+} |
|
| 1803 |
+ |
|
| 1804 |
+.commit-date i {
|
|
| 1805 |
+ margin-right:15px; |
|
| 1806 |
+} |
|
| 1807 |
+ |
|
| 1808 | 1808 |
.commit-left {
|
| 1809 | 1809 |
float:left; |
| 1810 | 1810 |
width:70%; |
| ... | ... |
@@ -2663,3 +2663,63 @@ button.close {
|
| 2663 | 2663 |
padding-top:40px; |
| 2664 | 2664 |
padding-bottom:40px; |
| 2665 | 2665 |
} |
| 2666 |
+ |
|
| 2667 |
+.compare-select {
|
|
| 2668 |
+ padding:12px 10px; |
|
| 2669 |
+ margin-bottom:5px; |
|
| 2670 |
+ position:relative; |
|
| 2671 |
+ border:1px solid #d8d8d8; |
|
| 2672 |
+ border-radius: 3px; |
|
| 2673 |
+ background-color: #fafafa; |
|
| 2674 |
+} |
|
| 2675 |
+ |
|
| 2676 |
+.compare-header {
|
|
| 2677 |
+ border:1px solid #d8d8d8; |
|
| 2678 |
+ overflow:hidden; |
|
| 2679 |
+ border-radius: 3px; |
|
| 2680 |
+ padding:10px; |
|
| 2681 |
+ margin-top:10px; |
|
| 2682 |
+} |
|
| 2683 |
+ |
|
| 2684 |
+.compare-header li {
|
|
| 2685 |
+ width:25%; |
|
| 2686 |
+ float:left; |
|
| 2687 |
+ text-align:center; |
|
| 2688 |
+} |
|
| 2689 |
+.compare-header li span {
|
|
| 2690 |
+ color: #767676; |
|
| 2691 |
+} |
|
| 2692 |
+.compare-commits-date-container {
|
|
| 2693 |
+ border-left:#f3f3f3 2px solid; |
|
| 2694 |
+ margin:3px 6px; |
|
| 2695 |
+ padding:10px 0; |
|
| 2696 |
+} |
|
| 2697 |
+ |
|
| 2698 |
+.compare-commits-date-container li:first-child {
|
|
| 2699 |
+} |
|
| 2700 |
+ |
|
| 2701 |
+.compare-commits-date-container li {
|
|
| 2702 |
+ margin-left:20px; |
|
| 2703 |
+ overflow:hidden; |
|
| 2704 |
+} |
|
| 2705 |
+ |
|
| 2706 |
+.compare-commits-author {
|
|
| 2707 |
+ width:30%; |
|
| 2708 |
+ float:left; |
|
| 2709 |
+ font-weight:bold; |
|
| 2710 |
+ font-size:90%; |
|
| 2711 |
+} |
|
| 2712 |
+ |
|
| 2713 |
+.compare-commits-commit-title {
|
|
| 2714 |
+ width:50%; |
|
| 2715 |
+ float:left; |
|
| 2716 |
+} |
|
| 2717 |
+ |
|
| 2718 |
+.compare-commits-commit-id {
|
|
| 2719 |
+ width:20%; |
|
| 2720 |
+ float:left; |
|
| 2721 |
+ text-align:right; |
|
| 2722 |
+} |
|
| 2723 |
+.compare-commits-commit-id a {
|
|
| 2724 |
+ color:#767676; |
|
| 2725 |
+} |
| ... | ... |
@@ -40,93 +40,89 @@ |
| 40 | 40 |
my $branches = $git->branches($user, $project); |
| 41 | 41 |
@$branches = sort { $a->{commit}{age} <=> $b->{commit}{age} } @$branches;
|
| 42 | 42 |
|
| 43 |
- # Global variables |
|
| 44 |
- stash( |
|
| 45 |
- id => $end_commit->{id},
|
|
| 46 |
- from_id => $start_commit->{id},
|
|
| 47 |
- rev => $end_commit->{id},
|
|
| 48 |
- from_rev => $start_commit->{id},
|
|
| 49 |
- ); |
|
| 43 |
+ # Variables |
|
| 44 |
+ stash id => $end_commit->{id};
|
|
| 45 |
+ stash from_id => $start_commit->{id};
|
|
| 46 |
+ stash rev => $end_commit->{id};
|
|
| 47 |
+ stash from_rev => $start_commit->{id};
|
|
| 48 |
+ |
|
| 49 |
+ layout 'common', title => "Comparing $rev1...$rev2 \x{30fb} $user/$project";
|
|
| 50 | 50 |
%> |
| 51 | 51 |
|
| 52 |
-% layout 'common', title => "Comparing $rev1...$rev2 \x{30fb} $user/$project";
|
|
| 53 | 52 |
|
| 54 |
- %= javascript begin |
|
| 55 |
- $(document).ready(function () {
|
|
| 56 |
- |
|
| 57 |
- // Change base branch |
|
| 58 |
- $('#base-branch-btn').on('click', function () {
|
|
| 59 |
- $('#base-branch-popup')
|
|
| 60 |
- .css('display', 'block')
|
|
| 61 |
- .css('top', '40px')
|
|
| 62 |
- .css('left', '10px')
|
|
| 63 |
- ; |
|
| 64 |
- }); |
|
| 65 |
- $('#base-branch-close').on('click', function () {
|
|
| 66 |
- $('#base-branch-popup').css('display', 'none');
|
|
| 67 |
- }); |
|
| 68 |
- $('[name=base-branch]').on('keypress', function (e) {
|
|
| 69 |
- // Enter |
|
| 70 |
- if (e.which == 13) {
|
|
| 71 |
- location.href = '<%= url_for("/$user/$project/compare/") %>' + $(this).val() + '...<%= $rev %>';
|
|
| 72 |
- } |
|
| 73 |
- }); |
|
| 53 |
+%= javascript begin |
|
| 54 |
+ $(document).ready(function () {
|
|
| 55 |
+ |
|
| 56 |
+ // Change base branch |
|
| 57 |
+ $('#base-branch-btn').on('click', function () {
|
|
| 58 |
+ $('#base-branch-popup')
|
|
| 59 |
+ .css('display', 'block')
|
|
| 60 |
+ .css('top', '40px')
|
|
| 61 |
+ .css('left', '10px')
|
|
| 62 |
+ ; |
|
| 63 |
+ }); |
|
| 64 |
+ $('#base-branch-close').on('click', function () {
|
|
| 65 |
+ $('#base-branch-popup').css('display', 'none');
|
|
| 66 |
+ }); |
|
| 67 |
+ $('[name=base-branch]').on('keypress', function (e) {
|
|
| 68 |
+ // Enter |
|
| 69 |
+ if (e.which == 13) {
|
|
| 70 |
+ location.href = '<%= url_for("/$user/$project/compare/") %>' + $(this).val() + '...<%= $rev %>';
|
|
| 71 |
+ } |
|
| 72 |
+ }); |
|
| 74 | 73 |
|
| 75 |
- // Change compare branch |
|
| 76 |
- $('#compare-branch-btn').on('click', function () {
|
|
| 77 |
- $('#compare-branch-popup')
|
|
| 78 |
- .css('display', 'block')
|
|
| 79 |
- .css('top', '40px')
|
|
| 80 |
- .css('left', '96px')
|
|
| 81 |
- ; |
|
| 82 |
- }); |
|
| 83 |
- $('#compare-branch-close').on('click', function () {
|
|
| 84 |
- $('#compare-branch-popup').css('display', 'none');
|
|
| 85 |
- }); |
|
| 86 |
- $('[name=compare-branch]').on('keypress', function (e) {
|
|
| 87 |
- // Enter |
|
| 88 |
- if (e.which == 13) {
|
|
| 89 |
- location.href = '<%= url_for("/$user/$project/compare/") %>' + '<%= $from_rev %>...' + $(this).val();
|
|
| 90 |
- } |
|
| 91 |
- }); |
|
| 74 |
+ // Change compare branch |
|
| 75 |
+ $('#compare-branch-btn').on('click', function () {
|
|
| 76 |
+ $('#compare-branch-popup')
|
|
| 77 |
+ .css('display', 'block')
|
|
| 78 |
+ .css('top', '40px')
|
|
| 79 |
+ .css('left', '96px')
|
|
| 80 |
+ ; |
|
| 81 |
+ }); |
|
| 82 |
+ $('#compare-branch-close').on('click', function () {
|
|
| 83 |
+ $('#compare-branch-popup').css('display', 'none');
|
|
| 84 |
+ }); |
|
| 85 |
+ $('[name=compare-branch]').on('keypress', function (e) {
|
|
| 86 |
+ // Enter |
|
| 87 |
+ if (e.which == 13) {
|
|
| 88 |
+ location.href = '<%= url_for("/$user/$project/compare/") %>' + '<%= $from_rev %>...' + $(this).val();
|
|
| 89 |
+ } |
|
| 92 | 90 |
}); |
| 93 |
- % end |
|
| 91 |
+ }); |
|
| 92 |
+% end |
|
| 94 | 93 |
|
| 95 |
- %= include '/include/header'; |
|
| 94 |
+%= include '/include/header'; |
|
| 96 | 95 |
|
| 97 |
- <div class="container"> |
|
| 98 |
- <h2>Compare View</h2> |
|
| 99 |
- <div class="well" style="padding:9px 10px 9px 10px;margin-bottom:5px;position:relative"> |
|
| 100 |
- <div class="row"> |
|
| 101 |
- <div class="span8"> |
|
| 102 |
- <button id="base-branch-btn" class="btn" style="padding:2px 10px"> |
|
| 103 |
- <%= $from_rev %> |
|
| 104 |
- </button> |
|
| 105 |
- ... |
|
| 106 |
- <button id="compare-branch-btn" class="btn" style="padding:2px 10px"> |
|
| 107 |
- <%= $rev %> |
|
| 108 |
- </button> |
|
| 109 |
- </div> |
|
| 110 |
- <div class="text-right"> |
|
| 111 |
- <a href="<%= url_for("/$user/$project/compare/$rev...$from_rev") %>" class="btn" style="padding:2px 10px">Switch base branch</a>
|
|
| 112 |
- </div> |
|
| 96 |
+<div class="container"> |
|
| 97 |
+ <div class="topic1">Compare View</div> |
|
| 98 |
+ <div class="compare-select"> |
|
| 99 |
+ <div> |
|
| 100 |
+ <div> |
|
| 101 |
+ <button id="base-branch-btn" class="btn btn-small"> |
|
| 102 |
+ <span>base:</span><b> <%= $from_rev %></b><i class="icon-arrow-down"></i> |
|
| 103 |
+ </button> |
|
| 104 |
+ ... |
|
| 105 |
+ <button id="compare-branch-btn" class="btn btn-small"> |
|
| 106 |
+ <span>compare:</span> <b><%= $rev %></b><i class="icon-arrow-down"></i> |
|
| 107 |
+ </button> |
|
| 113 | 108 |
</div> |
| 109 |
+ </div> |
|
| 114 | 110 |
|
| 115 |
- <div id="base-branch-popup" style="display:none;width:330px;position:absolute"> |
|
| 116 |
- <div class="radius-top border-gray" style="background:#E6E6FA;padding:10px"> |
|
| 117 |
- <div class="row"> |
|
| 118 |
- <div class="span3"> |
|
| 119 |
- <b>Choose a base branch</b> |
|
| 120 |
- </div> |
|
| 121 |
- <div class="text-right"> |
|
| 122 |
- <i id="base-branch-close" class="icon-remove-circle"></i> |
|
| 123 |
- </div> |
|
| 111 |
+ <div id="base-branch-popup" style="display:none;width:330px;position:absolute"> |
|
| 112 |
+ <div class="radius-top border-gray" style="background:#E6E6FA;padding:10px"> |
|
| 113 |
+ <div style="overflow:hidden"> |
|
| 114 |
+ <div style="float:left;width:90%;"> |
|
| 115 |
+ <b>Choose a base branch</b> |
|
| 116 |
+ </div> |
|
| 117 |
+ <div style="float:left:width:10%;text-align:right;"> |
|
| 118 |
+ <i id="base-branch-close" class="icon-remove-circle"></i> |
|
| 124 | 119 |
</div> |
| 125 | 120 |
</div> |
| 126 |
- <div class="border-gray" style="background:#F5F5F5;border-top:none;border-bottom:none;text-align:center;padding:10px 0"> |
|
| 127 |
- %= text_field 'base-branch', style => 'margin-bottom:0;width:270px', placeholder => 'Branch, tag, commit, or history marker'; |
|
| 128 |
- </div> |
|
| 129 |
- <div style="background:white;max-height:500px;overflow:auto;"> |
|
| 121 |
+ </div> |
|
| 122 |
+ <div class="border-gray" style="background:#F5F5F5;border-top:none;border-bottom:none;text-align:center;padding:10px 0"> |
|
| 123 |
+ %= text_field 'base-branch', style => 'margin-bottom:0;width:270px', placeholder => 'Branch, tag, commit, or history marker'; |
|
| 124 |
+ </div> |
|
| 125 |
+ <div style="background:white;max-height:500px;overflow:auto;"> |
|
| 130 | 126 |
<ul class="nav nav-tabs nav-stacked"> |
| 131 | 127 |
% for (my $i = 0; $i < @$branches; $i++) {
|
| 132 | 128 |
% my $branch = $branches->[$i]; |
| ... | ... |
@@ -137,89 +133,89 @@ |
| 137 | 133 |
</li> |
| 138 | 134 |
% } |
| 139 | 135 |
</ul> |
| 140 |
- </div> |
|
| 141 | 136 |
</div> |
| 137 |
+ </div> |
|
| 142 | 138 |
|
| 143 |
- <div id="compare-branch-popup" style="display:none;width:330px;position:absolute"> |
|
| 144 |
- <div class="radius-top border-gray" style="background:#E6E6FA;padding:10px"> |
|
| 145 |
- <div class="row"> |
|
| 146 |
- <div class="span3"> |
|
| 147 |
- <b>Choose a compare branch</b> |
|
| 148 |
- </div> |
|
| 149 |
- <div class="text-right"> |
|
| 150 |
- <i id="compare-branch-close" class="icon-remove-circle"></i> |
|
| 151 |
- </div> |
|
| 139 |
+ <div id="compare-branch-popup" style="display:none;width:330px;position:absolute"> |
|
| 140 |
+ <div class="radius-top border-gray" style="background:#E6E6FA;padding:10px"> |
|
| 141 |
+ <div style="overflow:hidden"> |
|
| 142 |
+ <div style="float:left;width:90%;"> |
|
| 143 |
+ <b>Choose a compare branch</b> |
|
| 144 |
+ </div> |
|
| 145 |
+ <div style="float:left:width:10%;text-align:right;"> |
|
| 146 |
+ <i id="compare-branch-close" class="icon-remove-circle"></i> |
|
| 152 | 147 |
</div> |
| 153 |
- </div> |
|
| 154 |
- <div class="border-gray" style="background:#F5F5F5;border-top:none;border-bottom:none;text-align:center;padding:10px 0"> |
|
| 155 |
- %= text_field 'compare-branch', style => 'margin-bottom:0;width:270px', placeholder => 'Branch, tag, commit, or history marker'; |
|
| 156 |
- </div> |
|
| 157 |
- <div style="background:white;max-height:500px;overflow:auto;"> |
|
| 158 |
- <ul class="nav nav-tabs nav-stacked"> |
|
| 159 |
- % for (my $i = 0; $i < @$branches; $i++) {
|
|
| 160 |
- % my $branch = $branches->[$i]; |
|
| 161 |
- <li> |
|
| 162 |
- <a style="border-top-left-radius:0px;border-top-right-radius:0px;" href="<%= url_for("/$user/$project/compare/$from_rev...$branch->{name}") %>">
|
|
| 163 |
- <%= $branch->{name} %>
|
|
| 164 |
- </a> |
|
| 165 |
- </li> |
|
| 166 |
- % } |
|
| 167 |
- </ul> |
|
| 168 | 148 |
</div> |
| 169 | 149 |
</div> |
| 170 |
- |
|
| 150 |
+ <div class="border-gray" style="background:#F5F5F5;border-top:none;border-bottom:none;text-align:center;padding:10px 0"> |
|
| 151 |
+ %= text_field 'compare-branch', style => 'margin-bottom:0;width:270px', placeholder => 'Branch, tag, commit, or history marker'; |
|
| 152 |
+ </div> |
|
| 153 |
+ <div style="background:white;max-height:500px;overflow:auto;"> |
|
| 154 |
+ <ul class="nav nav-tabs nav-stacked"> |
|
| 155 |
+ % for (my $i = 0; $i < @$branches; $i++) {
|
|
| 156 |
+ % my $branch = $branches->[$i]; |
|
| 157 |
+ <li> |
|
| 158 |
+ <a style="border-top-left-radius:0px;border-top-right-radius:0px;" href="<%= url_for("/$user/$project/compare/$from_rev...$branch->{name}") %>">
|
|
| 159 |
+ <%= $branch->{name} %>
|
|
| 160 |
+ </a> |
|
| 161 |
+ </li> |
|
| 162 |
+ % } |
|
| 163 |
+ </ul> |
|
| 164 |
+ </div> |
|
| 171 | 165 |
</div> |
| 166 |
+ </div> |
|
| 172 | 167 |
|
| 173 |
- <div style="margin-bottom:20px">From here you can compare two points in history. You can even compare tag names and commits.</div> |
|
| 168 |
+ % if (keys %$commits_date) {
|
|
| 169 |
+ <ul class="compare-header"> |
|
| 170 |
+ <li> |
|
| 171 |
+ <b><%= @$commits %></b> <span>commit</span> |
|
| 172 |
+ </li> |
|
| 173 |
+ <li> |
|
| 174 |
+ <b><%= $authors_count %></b> <span>contributor</span> |
|
| 175 |
+ </li> |
|
| 176 |
+ <li> |
|
| 177 |
+ |
|
| 178 |
+ </li> |
|
| 179 |
+ <li> |
|
| 180 |
+ |
|
| 181 |
+ </li> |
|
| 182 |
+ </ul> |
|
| 174 | 183 |
|
| 175 |
- <hr style="margin-top:5px"> |
|
| 176 |
- |
|
| 177 |
- % if (keys %$commits_date) {
|
|
| 178 |
- |
|
| 179 |
- <div> |
|
| 180 |
- Showing <%= @$commits %> commits by <%= $authors_count %> author. |
|
| 181 |
- </div> |
|
| 182 |
- |
|
| 184 |
+ <div class="commits"> |
|
| 183 | 185 |
% for my $date (reverse sort keys %$commits_date) {
|
| 184 | 186 |
% my $commits = $commits_date->{$date};
|
| 185 | 187 |
|
| 186 |
- <div class="bk-gray-light border-gray" style="padding:5px;"> |
|
| 187 |
- <%= $date %> |
|
| 188 |
+ <div class="commit-date"> |
|
| 189 |
+ <i class="icon-off"></i><span>Commits on <%= $date %></span> |
|
| 188 | 190 |
</div> |
| 189 | 191 |
|
| 190 |
- <div style="margin-bottom:20px"> |
|
| 192 |
+ <ul class="compare-commits-date-container"> |
|
| 191 | 193 |
% for my $commit (sort {$b->{author_epoch} <=> $a->{author_epoch}} @$commits) {
|
| 192 |
- <div class="border-gray" style="padding:5px;border-top:none"> |
|
| 193 |
- <div class="row"> |
|
| 194 |
- <div class="span2"> |
|
| 195 |
- <span title="<%= $commit->{author_email} %>"><%= $commit->{author_name} %></span>
|
|
| 196 |
- </div> |
|
| 197 |
- <div class="span7"> |
|
| 198 |
- <a style="color:#333" href="<%= url_for("/$user/$project/commit/$commit->{id}") %>">
|
|
| 199 |
- <%= $commit->{title_short} %>
|
|
| 200 |
- </a> |
|
| 201 |
- </div> |
|
| 202 |
- <div class="span2 text-right" style="margin-left:80px"> |
|
| 203 |
- <a href="<%= url_for("/$user/$project/commit/$commit->{id}") %>">
|
|
| 204 |
- <%= substr($commit->{id}, 0, 7) %>
|
|
| 205 |
- </a> |
|
| 206 |
- </div> |
|
| 194 |
+ <li> |
|
| 195 |
+ <div class="compare-commits-author"> |
|
| 196 |
+ <span title="<%= $commit->{author_email} %>"><%= $commit->{author_name} %></span>
|
|
| 207 | 197 |
</div> |
| 208 |
- </div> |
|
| 198 |
+ <div class="compare-commits-commit-title"> |
|
| 199 |
+ <a style="color:#333" href="<%= url_for("/$user/$project/commit/$commit->{id}") %>">
|
|
| 200 |
+ <%= $commit->{title_short} %>
|
|
| 201 |
+ </a> |
|
| 202 |
+ </div> |
|
| 203 |
+ <div class="compare-commits-commit-id"> |
|
| 204 |
+ <a href="<%= url_for("/$user/$project/commit/$commit->{id}") %>">
|
|
| 205 |
+ <%= substr($commit->{id}, 0, 7) %>
|
|
| 206 |
+ </a> |
|
| 207 |
+ </div> |
|
| 208 |
+ </li> |
|
| 209 | 209 |
% } |
| 210 |
- </div> |
|
| 210 |
+ </ul> |
|
| 211 | 211 |
% } |
| 212 |
- |
|
| 213 |
- %= include '/include/commit_body'; |
|
| 214 |
- % } else {
|
|
| 215 |
- <div class="well" style="padding:35px"> |
|
| 216 |
- <div class="text-center" style="margin-bottom:15px"><b>There isn't anything to compare.</b></div> |
|
| 217 |
- |
|
| 218 |
- <div class="text-center muted"> |
|
| 219 |
- <b><%= $from_rev %></b> is up to date with all commits from <b><%= $rev %></b>. |
|
| 220 |
- Try <a href="<%= url_for("/$user/$project/compare/$rev...$from_rev") %>">switching the base</a> for your comparison.
|
|
| 221 |
- </div> |
|
| 222 |
- </div> |
|
| 223 |
- % } |
|
| 224 |
- </div> |
|
| 225 |
- %= include '/include/footer'; |
|
| 212 |
+ </div> |
|
| 213 |
+ |
|
| 214 |
+ %= include '/include/commit_body'; |
|
| 215 |
+ % } else {
|
|
| 216 |
+ <div> |
|
| 217 |
+ <b>There isn't anything to compare.</b> |
|
| 218 |
+ </div> |
|
| 219 |
+ % } |
|
| 220 |
+</div> |
|
| 221 |
+%= include '/include/footer'; |