Patch #1601 ยป consistent_repository_navigation.patch
lang/en.yml (working copy) | ||
---|---|---|
548 | 548 |
button_annotate: Annotate |
549 | 549 |
button_update: Update |
550 | 550 |
button_configure: Configure |
551 |
button_history: History |
|
551 | 552 | |
552 | 553 |
status_active: active |
553 | 554 |
status_registered: registered |
app/controllers/repositories_controller.rb (working copy) | ||
---|---|---|
47 | 47 |
@repository.destroy |
48 | 48 |
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'repository' |
49 | 49 |
end |
50 |
|
|
50 | ||
51 | 51 |
def show |
52 | 52 |
# check if new revisions have been committed in the repository |
53 | 53 |
@repository.fetch_changesets if Setting.autofetch_changesets? |
... | ... | |
61 | 61 |
end |
62 | 62 |
|
63 | 63 |
def browse |
64 |
@changeset = @repository.changesets.find_by_revision(@rev) |
|
64 | 65 |
@entries = @repository.entries(@path, @rev) |
65 | 66 |
if request.xhr? |
66 | 67 |
@entries ? render(:partial => 'dir_list_content') : render(:nothing => true) |
... | ... | |
96 | 97 |
end |
97 | 98 |
|
98 | 99 |
def entry |
100 |
@changeset = @repository.changesets.find_by_revision(@rev) |
|
99 | 101 |
@entry = @repository.scm.entry(@path, @rev) |
100 | 102 |
show_error_not_found and return unless @entry |
101 | 103 |
|
... | ... | |
116 | 118 |
end |
117 | 119 |
|
118 | 120 |
def annotate |
121 |
@entry = @repository.scm.entry(@path, @rev) |
|
119 | 122 |
@annotate = @repository.scm.annotate(@path, @rev) |
120 | 123 |
render_error l(:error_scm_annotate) and return if @annotate.nil? || @annotate.empty? |
121 | 124 |
rescue Redmine::Scm::Adapters::CommandFailed => e |
... | ... | |
142 | 145 |
end |
143 | 146 |
|
144 | 147 |
def diff |
148 |
@entry = @repository.scm.entry(@path, @rev) |
|
145 | 149 |
@diff_type = params[:type] || User.current.pref[:diff_type] || 'inline' |
146 | 150 |
@diff_type = 'inline' unless %w(inline sbs).include?(@diff_type) |
147 | 151 |
|
app/views/repositories/_navigation.rhtml (working copy) | ||
---|---|---|
16 | 16 |
/ <%= link_to h(filename), :action => 'changes', :id => @project, :path => "#{link_path}/#{filename}", :rev => @rev %> |
17 | 17 |
<% end %> |
18 | 18 | |
19 |
<%= "@ #{revision}" if revision %> |
|
20 | ||
19 |
<% if revision %> |
|
20 |
@ <%= link_to "#{revision}", :action => 'revision', :id => @project, :rev => @rev %> |
|
21 |
<% end %> |
|
21 | 22 |
<% html_title(with_leading_slash(path)) -%> |
app/views/repositories/revision.rhtml (working copy) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
« |
|
3 |
<% unless @changeset.previous.nil? -%> |
|
4 |
<%= link_to l(:label_previous), :controller => 'repositories', :action => 'revision', :id => @project, :rev => @changeset.previous.revision %> |
|
5 |
<% else -%> |
|
6 |
<%= l(:label_previous) %> |
|
7 |
<% end -%> |
|
8 |
| |
|
9 |
<% unless @changeset.next.nil? -%> |
|
10 |
<%= link_to l(:label_next), :controller => 'repositories', :action => 'revision', :id => @project, :rev => @changeset.next.revision %> |
|
11 |
<% else -%> |
|
12 |
<%= l(:label_next) %> |
|
13 |
<% end -%> |
|
14 |
» |
|
15 |
|
|
16 |
<% form_tag do %> |
|
17 |
<%= text_field_tag 'rev', @rev, :size => 5 %> |
|
18 |
<%= submit_tag 'OK' %> |
|
19 |
<% end %> |
|
20 |
</div> |
|
1 |
<%= render :partial => 'changeset_nav', :locals => {:changeset => @changeset,:rev => @rev, :action => 'revision'} %> |
|
21 | 2 | |
22 | 3 |
<h2><%= l(:label_revision) %> <%= format_revision(@changeset.revision) %></h2> |
23 | 4 | |
... | ... | |
46 | 27 |
<tbody> |
47 | 28 |
<% @changes.each do |change| %> |
48 | 29 |
<tr class="<%= cycle 'odd', 'even' %>"> |
49 |
<td><div class="square action_<%= change.action %>"></div> <%= change.path %> <%= "(#{change.revision})" unless change.revision.blank? %></td>
|
|
30 |
<td><div class="square action_<%= change.action %>"></div> <%= link_to change.path, :action => 'entry', :id => @project, :path => without_leading_slash(change.relative_path) %> <%= "(#{change.revision})" unless change.revision.blank? %></td>
|
|
50 | 31 |
<td align="right"> |
51 | 32 |
<% if change.action == "M" %> |
52 | 33 |
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => without_leading_slash(change.relative_path), :rev => @changeset.revision %> |
34 |
| <%= link_to l(:button_history), :action => 'changes', :id => @project, :path => without_leading_slash(change.relative_path), :rev => @changeset.revision %> |
|
35 |
| <%= link_to l(:button_annotate), :action => 'annotate', :id => @project, :path => without_leading_slash(change.relative_path), :rev => @changeset.revision %> |
|
53 | 36 |
<% end %> |
54 | 37 |
</td> |
55 | 38 |
</tr> |
app/views/repositories/browse.rhtml (working copy) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
<% form_tag do %> |
|
3 |
<%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %> |
|
4 |
<% end %> |
|
5 |
</div> |
|
1 |
<%= render :partial => 'changeset_nav', :locals => {:changeset => @changeset,:rev => @rev, :project => @project, :action => 'browse'} %> |
|
6 | 2 | |
7 | 3 |
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => 'dir', :revision => @rev } %></h2> |
8 | 4 |
app/views/repositories/entry.rhtml (working copy) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
<% form_tag do %> |
|
3 |
<%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %> |
|
4 |
<% end %> |
|
5 |
</div> |
|
6 | ||
1 | 7 |
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => 'file', :revision => @rev } %></h2> |
2 | 8 | |
9 |
<%= render :partial => 'entry_nav', :locals => {:entry => @entry,:current_view => 'view'} %> |
|
10 | ||
3 | 11 |
<div class="autoscroll"> |
4 | 12 |
<table class="filecontent CodeRay"> |
5 | 13 |
<tbody> |
app/views/repositories/_entry_nav.rhtml (revision 0) | ||
---|---|---|
1 |
<h3><%=h @entry.name %></h3> |
|
2 | ||
3 |
<p> |
|
4 |
<% if current_view != 'history' %><%= link_to l(:button_history), {:action => 'changes', :id => @project, :path => @path, :rev => @rev } %> |<%end%> |
|
5 |
<% if current_view != 'view' %> |
|
6 |
<% if @repository.supports_cat? %> |
|
7 |
<%= link_to l(:button_view), {:action => 'entry', :id => @project, :path => @path, :rev => @rev } %> | |
|
8 |
<% end %> |
|
9 |
<% end %> |
|
10 | ||
11 |
<% if current_view != 'annotate' %> |
|
12 |
<% if @repository.supports_annotate? %> |
|
13 |
<%= link_to l(:button_annotate), {:action => 'annotate', :id => @project, :path => @path, :rev => @rev } %> | |
|
14 |
<% end %> |
|
15 |
<% end %> |
|
16 |
<%= link_to(l(:button_download), {:action => 'entry', :id => @project, :path => @path, :rev => @rev, :format => 'raw' }) if @repository.supports_cat? %> |
|
17 |
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %> |
|
18 |
</p> |
|
19 |
app/views/repositories/_changeset_nav.rhtml (revision 0) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
<% if @changeset %> « |
|
3 |
<% unless @changeset.previous.nil? -%> |
|
4 |
<%= link_to l(:label_previous), :controller => 'repositories', :action => action, :id => @project, :rev => @changeset.previous.revision %> |
|
5 |
<% else -%> |
|
6 |
<%= l(:label_previous) %> |
|
7 |
<% end -%> |
|
8 |
| |
|
9 |
<% unless @changeset.next.nil? -%> |
|
10 |
<%= link_to l(:label_next), :controller => 'repositories', :action => action, :id => @project, :rev => @changeset.next.revision %> |
|
11 |
<% else -%> |
|
12 |
<%= l(:label_next) %> |
|
13 |
<% end -%> |
|
14 |
» |
|
15 |
<% end %> |
|
16 |
<% form_tag do %> |
|
17 |
<%= text_field_tag 'rev', @rev, :size => 5 %> |
|
18 |
<%= submit_tag 'OK' %> |
|
19 |
<% end %> |
|
20 |
</div> |
app/views/repositories/changes.rhtml (working copy) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
<% form_tag do %> |
|
3 |
<%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %> |
|
4 |
<% end %> |
|
5 |
</div> |
|
6 | ||
1 | 7 |
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => (@entry ? @entry.kind : nil), :revision => @rev } %></h2> |
2 | 8 | |
3 |
<h3><%=h @entry.name %></h3>
|
|
9 |
<%= render :partial => 'entry_nav', :locals => {:entry => @entry,:current_view => 'history'} %>
|
|
4 | 10 | |
5 |
<p> |
|
6 |
<% if @repository.supports_cat? %> |
|
7 |
<%= link_to l(:button_view), {:action => 'entry', :id => @project, :path => @path, :rev => @rev } %> | |
|
8 |
<% end %> |
|
9 |
<% if @repository.supports_annotate? %> |
|
10 |
<%= link_to l(:button_annotate), {:action => 'annotate', :id => @project, :path => @path, :rev => @rev } %> | |
|
11 |
<% end %> |
|
12 |
<%= link_to(l(:button_download), {:action => 'entry', :id => @project, :path => @path, :rev => @rev, :format => 'raw' }) if @repository.supports_cat? %> |
|
13 |
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %> |
|
14 |
</p> |
|
15 | ||
16 | 11 |
<%= render(:partial => 'revisions', |
17 | 12 |
:locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }) unless @changesets.empty? %> |
18 | 13 |
app/views/repositories/diff.rhtml (working copy) | ||
---|---|---|
1 |
<h2><%= l(:label_revision) %> <%= format_revision(@rev) %> <%= @path.gsub(/^.*\//, '') %></h2> |
|
1 |
<div class="contextual"> |
|
2 |
<% form_tag do %> |
|
3 |
<%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %> |
|
4 |
<% end %> |
|
5 |
</div> |
|
2 | 6 | |
7 | ||
8 |
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => (@entry ? @entry.kind : nil), :revision => @rev } %></h2> |
|
9 | ||
10 |
<%= render :partial => 'entry_nav', :locals => {:entry => @entry} %> |
|
11 | ||
12 | ||
3 | 13 |
<!-- Choose view type --> |
4 | 14 |
<% form_tag({ :controller => 'repositories', :action => 'diff'}, :method => 'get') do %> |
5 | 15 |
<% params.each do |k, p| %> |
app/views/repositories/annotate.rhtml (working copy) | ||
---|---|---|
1 |
<div class="contextual"> |
|
2 |
<% form_tag do %> |
|
3 |
<%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %> |
|
4 |
<% end %> |
|
5 |
</div> |
|
6 | ||
1 | 7 |
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => 'file', :revision => @rev } %></h2> |
2 | 8 | |
9 |
<%= render :partial => 'entry_nav', :locals => {:entry => @entry,:current_view => 'annotate'} %> |
|
10 | ||
3 | 11 |
<% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %> |
4 | 12 | |
5 | 13 |
<div class="autoscroll"> |